IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    love 0
    edony
    发表于
    2023-12-16 15:21:59

    Memos 数据库启动过程源码分析

    因为碰到了 Memos Heatmap 显示统计数据不准确的问题(comment memos 没有被纳入统计),为了理解GetMemosList的工作原理需要阅读源码理解清楚 Memos server 端特别是涉及到数据库的逻辑是什么样。这篇文章& ...继续阅读 (147)


    love 0
    forecho\'s Blog
    发表于
    2023-12-16 15:09:00

    期权要学会滚仓

    引言期权的滚仓是一个很重要的概念,也是一个很重要的操作,如果你学会了滚仓,那么你就可以让你赚的更多的钱,如果不会滚仓,你可能会后悔卖飞了的期权。期权的滚仓主要有:Roll Up:通常是看涨期权Roll Down:通常是看跌期权这篇文章我主要分享一下 Roll Up 的操作,Roll Down 的操作和 Roll Up 是一样的,只是方向相反而已。什么是 Roll Up?期权 Roll Up 指的是关闭现有的期权头寸,同时在相同期权中以更高的执行价格开设新头寸。通常使用场景是持续看涨,买 CALL/卖 PUT。顺便提一下期权 Roll Down,期权 Roll Down 与 Roll Up 相反,指的是关闭现有的期权头寸,同时在相同期权中以更低的执行价格开设新头寸。通常使用的场景是持续看跌,卖 CALL/买 PUT。了解期权 Roll Up期权 Roll Up,简称为「将期权升级到更高的执行价格」,是指通过关闭初始并为同一标的资产以更高的执行价格开设新期权,从而提高期权头寸的执行价格。交易者同时执行这两个操作,以减少滑点或由于实施策略时标的资产价格变化可能造成的利润侵蚀。无论现有头寸是看跌期权还是看涨期权,执行 Roll Up 策略的步骤都是相同的:对 BUY CALL 进行 Roll Up 时是持续看涨策略,因为您是在押注价格会继续上涨到更高的行权价。对 SELL PUT 进行 R ...继续阅读 (185)


    love 0
    青山
    发表于
    2023-12-16 14:40:54

    2023·年度回顾

    陈仓颉在群里分享了一篇来自Ness Labs的文章,其中提到对2023年的年度回顾,根据作者提供的模板,从不同方面回顾过去一年,然后再记录最骄傲的成就、最大的挑战、明年最主要的愿望。我们与 Telegram 频道 @FindBlog发起这项主题活动,欢迎大家一起参与。尽管还没到2023年的最后一天,但剩下的日子也改变不了什么。原以为从2018年开始写博客起,每年都会写一篇总结或者回顾,刚刚翻博客才发现漏写了2019年,或许因为2019年是过去十年里最差的一年,也是未来十年里最好的一年。2023年的方方面面根据模板,主要从以下几个方面回顾过去一年。健康/锻炼、工作/职业、友情/社交、个人生活/家庭、学习/知识管理、旅游/文化、兴趣/创造、情绪/精神状况、财务状况。健康/锻炼健康状况还算良好,暑假实习前在医院做了一次简单的体检,没有什么毛病。上半年睡眠有很大的问题,一方面在于环境比较差,容易被室友半夜的呼噜声吵醒,另一方面自己睡得比较晚,入睡慢,但下半年有所改善,通过调整自己的作息时间、戴耳塞等方式,让自己尽快入睡,以及提高深睡度。年年说要运动,但年年都是“永远在路上”。通过华为手环和华为运动健康软件,也记录了我在2023年的一点点运动。3月份跑了1公里,9月份跑了两次,加起来5公里,总共6公里。算了,我都不好意思细说。再加上今年课不多,尤其是下半年,出门的次数更少,原本给自己定的年度 ...继续阅读 (168)


    love 0
    admin
    发表于
    2023-12-16 14:10:48

    思考:如何让研发的价值更大

    当你成为一个技术团队的管理者时,就会经常会被老板问到,研发的价值在哪里?如何让研发的价值更大?现在的研发团队和行业内相比效率/能力/水平怎么样?如此种种……每个公司每个技术团队的管理者都有自己的逻辑来回答这个问题,因为这是带团队的核心逻辑之一,且各有缘法。今天这篇文章不是想准确的回答这个问题,也不是标准答案,只是这些问题最近引发的一些个人思考。先抛两个公式:公式一:研发的价值 = (业务价值 + 技术价值) – 非正常成本 – 正常成本公式二:研发的价值 = 单位有效时间内产出的价值 × 有效时间 – 非正常成本 – 正常成本这是简化的研发的价值模型,可以作为理解研发价值创造的基础框架。实际应用中可能还需要进一步的细化和调整,因为价值的计算可能远比这两个公式复杂。总体来看,让价值更大在于攻守,如何攻,如何守,攻就是提高产出价值,守就是减少成本。在攻的方面,提高产出价值包括提高业务价值和技术价值。我们都知道业务需求是做不完的,如何在做不完的业务需求里面产出更大的价值,关键点在于业务需求本身的价值和业务价值生效的时间,将具有更大价值的业务需求更快的上线是提高研发侧业务价值的主体逻辑。当然,需求上线后可能还有 bug 之类的,这个我们作为守的那部分来聊。提高业务价值提高业务价值的主体逻辑包括两层意思,一个是更大价值的业务需求,另一个是更快的 ...继续阅读 (151)


    love 0
    admin
    发表于
    2023-12-16 14:09:59

    对于系统复杂度的认知:从滴滴超大型线上故障想到的

    在当今时代,互联网已成为我们生活中不可或缺的一部分,涉及到日常的方方面面。无论是打车、购物还是社交,我们都依赖于各种应用程序。但是,这些服务一旦出现中断,就可能引起严重的后果。2023 年 11 月份,我们见证了两次重大的网络服务故障:11 月 12 日下午,阿里云服务出现异常,导致依赖其服务的多个厂商及其产品功能受损,包括其自身的产品钉钉。紧接着,11 月 27 日晚,滴滴打车应用程序出现故障,直到 28 日中午才逐渐恢复正常。这次滴滴的服务中断超过了 12 个小时,引起了用户和司机的混乱和不便。就在昨天,12 月 1 日上午,上海医保系统无法进行结算,网友形容「看病一分钟,排队两小时」,凸显了网络服务依赖的脆弱性。特别一点说,滴滴出行在 2023 年 11 月 27 日发生的故障,使我们不得不重新思考我们对系统复杂度的认知。从滴滴的恢复过程中可以看出,系统经历了部分恢复、再次出现问题,数据混乱等现象。整个系统看似处于混乱之中,但在多方努力介入处理后,逐渐恢复稳定并重新运作。这个过程好比一个受伤的系统在逐步疗愈。公众的反应也多种多样,有人归咎于滴滴的「降本增效」策略,有人认为是管理层的失误,还有人指责技术升级不当。但如果把滴滴看作一个整体的系统,它无疑是高度复杂的,由人员、组织结构和各种在线系统组成。这个系统的复杂性在平时可能被我们低估,因为每个人通常只关注自己负责的那部分工作。 ...继续阅读 (187)


    love 0
    admin
    发表于
    2023-12-16 14:09:13

    研发效率提升的秘诀:日志管理的系统化策略

    你是否也遇到过线上出问题了,查找日志,发现都是 ERROR 日志?你是否也遇到过虽然有日志,但是日志实在太多,在茫茫日志中无法有效地定位到问题?你是否遇到过要去排查前人写的代码产生的 BUG,却还需要把先把相关的代码过一遍,找到相关日志点,再去搜索日志?你是否遇到过日志越来越多,不同的人都在打,有些日志没有用了,还是在不停的打?你是否遇到过奇怪类型的日志,甚至相互冲突以至于无法定位问题?你是否遇到过因为打个日志,导致客户端崩溃?……当日志不在大家的视野中,凭着个人的喜好去打,去定位问题,最终整个日志就会变成一个不断膨胀的怪物,变成大家使用起来都感到困扰和无助的混乱池塘。当日志的生成和使用没有统一的规范和标准,每个人都按照自己的方式和喜好来记录和查找日志,日志的内容和格式就会变得五花八门,导致理解和分析日志的难度大大增加。另外,无效的、重复的、甚至是错误的日志会像野草一样无序地生长,使得日志的数量越来越大,而有效的、有用的日志则可能会被淹没在这个日志的海洋之中。此时,我们需要建立一套有效的日志管理策略,包括设定清晰的日志记录标准,实施有效的日志标准管理,优化日志存储和清理策略等。只有这样,我们才能把这个日志怪物驯化,使得日志成为我们解决问题的有力工具,而不是一种困扰。从过往的经历和上面描述的这些问题里面我们洞察了如下的问题点:日志规范管理的问题日志无序增长的问题日志劣化和无人维护的问 ...继续阅读 (177)


    love 0
    admin
    发表于
    2023-12-16 14:08:19

    提升开发效率的黄金法则:如何避免认知、沟通和非正常成本的陷阱

    在前面的文章中我们聊了技术成本的精细化运营;聊了要识别出成本要素,找出每个要素的关键成本点,将成本定义为顾客付出的代价,根据成本的基本特性对其分类包括生产性成本、支持性成本、监察成本和浪费成本;聊了成本的核算以及成本和业务以及公司商业化策略的关系等等。今天我们从一个技术团队的负责人角度来聊一下软件研发过程中的成本。研发过程中成本主要包括研发过程的成本和对业务产生的影响而带来的「非正常成本」。而其中软件研发成本的核心是认知成本和沟通成本。认知成本认知成本是一个相对宽泛的概念,它涉及到所有获取、理解、处理信息以及进行决策的努力和资源。在一般情况下,认知成本可以分为以下几个部分:学习成本:这是指为了掌握新的知识、技能或工具所需要的时间和精力。如一个开发同学需要学习一种新的编程语言,那么这就会产生学习成本。理解成本:这是指为了理解新的信息或知识所需要的时间和精力。如阅读和理解一份复杂的技术方案文档就会产生理解成本。处理成本:这是指为了处理信息,比如进行分析、整理或应用,所需要的时间和精力。如分析一份用户行为数据报告就会产生处理成本。决策成本:这是指为了做出决策,比如评估选项、权衡利弊、制定策略,所需要的时间和精力。如选择一个软件开发框架或选择一个市场策略就会产生决策成本。在实际应用中,降低认知成本通常是提高效率和效果的重要目标。例如,良好的用户界面设计可以降低用户的认知成本,提高用户体验; ...继续阅读 (189)


    love 0
    admin
    发表于
    2023-12-16 14:07:26

    你是团队的明灯还是卡点?聊聊项目管理中的角色认知与常见问题

    一个技术团队管理者在带团队过程中常常要「通过别人的手拿到结果」,常常要主动去改变一些事情,去完成一些公司或上级的要求,甚至要自己去做一些事情……仔细回顾一下,有没有出现你的上级绕过你直接找你的下属来处理问题,而你一无所知,只有出了问题的时候才知道?有没有出现你发起了一个事情,任务已经交给下属/其它同事来跟进处理了,到截止时间,结果和你想象中的不一样?有没有出现你实在忍不住,亲自动手把那块代码写了,一边写还一边吐槽,也就十几分钟的事儿,跟他讲的时间都已经上线了……如此种种,是不是很是亲切,经常会遇到。这到底是哪里出问题了呢?如果把这些事项都当作一个项目来看的,这些项目中有三个主要角色:发起人(Sponsor)、负责人(Project Manager)和核心成员(Core Team Members)。上面的这些问题大多数是角色错位,职责分工不明确或者项目成员本身对于自己所在角色的认知不清晰导致的。今天我们就聊聊这三个角色,以及经常会出现的问题。发起人(Sponsor)发起人是项目的发起者,他们通常是公司的高级领导人或决策者,有权利和资源来推动项目的实施。他们的主要职责和特点包括:确定项目的战略目标,并向所有相关方清晰地传达这些目标,一般不参与具体任务。提供必要的资源和资金以支持项目的实施。对项目有最终兜底责任,在必要时提供对项目的支持,解决可能对项目产生影响的问题和挑战。监督项目的进度 ...继续阅读 (188)


    love 0
    admin
    发表于
    2023-12-16 14:06:16

    关于复杂系统的思考:从语雀服务中断想到的

    在 10 月 23 日,语雀服务出现了一次重大故障,中断时间超过 7 小时。具体来说,这次故障的起因是在执行系统升级操作期间,新的运维升级工具出现了 bug,导致华东地区生产环境的存储服务器被误下线。由于存储系统使用的机器类别过于陈旧,无法直接将其上线,这导致了恢复过程时间延长。尽管语雀的工程师们立刻进行了恢复工作,但由于数据量大,恢复方案有限,恢复过程耗时 4 小时,数据检验耗时耗时 2 小时。这次故障给用户带来了严重的影响,也让我们重新审视关于本次故障带来的思考。我将整个复盘报告输入给到 chatGPT,其给我的回复如下:从语雀的这次事故中,我们可以学到以下几个关键的教训:重视运维工具的测试和质量保证:在这次事故中,新的运维升级工具的 bug 是导致故障的主要原因。这说明,即使是运维工具,也需要进行足够的测试和质量保证。在实际使用之前,应该在相似的环境中进行充分的测试,确保其稳定性和安全性。灾备和恢复系统的重要性:即使有了数据备份,恢复仍然可能需要花费大量时间,这会导致服务中断时间过长。因此,除了定期备份数据外,还需要建立有效的灾备和恢复系统,以便在灾难发生时,能够快速恢复服务。灾难恢复演练的必要性:定期的灾难恢复演练可以帮助我们在真实的灾难发生时,更快地恢复服务。通过演练,我们可以发现并解决恢复过程中可能存在的问题,提高恢复的效率。高可用架构的重要性:高可用架构可以保证在部分 ...继续阅读 (172)


    love 0
    admin
    发表于
    2023-12-16 14:05:20

    最容易被忽视却意义重大的立项

    我们经常会发现工作中会出现很多重点项目,很多事情忽然就来了,问就是老板需求,却没有一个过程来告诉大家前因后果和价值。这往往会导致大家感到迷茫,因为没有获得足够的信息和时间来理解和准备这些项目。这个过程从项目管理的角度来说是缺少立项,而立项往往是最容易被忽视的。当没有明确的立项过程时,目标模糊、资源浪费、沟通困难、出现项目风险等问题都会时有发生,从而影响整个项目的实施效果和公司的业务发展。1 什么是立项立项是一个组织或公司决定开始一个新项目时的决策过程,这个过程涵盖了对项目需求的明确、项目目标的设定、可行性的评估、资源的分配和风险的识别及管理等关键步骤。通过立项过程,组织能确保每个项目有明确的目标、适当的资源分配、风险控制措施以及一个清晰的执行计划,从而提高项目的成功率和效率。立项的本质是一个综合的决策过程,其中项目的各干系方对目标、方案、成本、风险和里程碑等重要预期进行对齐,以便做出是否启动项目并如何分配资源的决定。2 立项的作用立项就像是给项目开个「导航」,帮助我们明确要去的目的地,规划好路线,分配好需要的人和物,预防可能的风险,确认能否按计划到达,并让所有人都了解这个「旅行计划」,以提高我们的旅行效率和成功率。具体一些,包含以下六个作用:明确目标:立项过程有助于明确项目的目标和期望结果,使所有参与者对项目的方向和目标有共同的理解。如我们在开发一个新的移动应用的立项过程中,项目组 ...继续阅读 (178)


    love 0
    admin
    发表于
    2023-12-16 14:04:26

    聊聊隔离:SaaS 业务技术架构中的核心要点

    对于一个 SaaS 来说,隔离是一个非常重要的技术架构策略。当隔离的策略和业务不匹配的时候,往往可能会引发一些线上事故/问题,影响性能等等。隔离的意义在于创建独立、安全的运行环境,以保护数据的私密性、保证服务的稳定性,并防止资源的竞争和滥用,从而为每个客户提供高质量且可靠的服务。隔离的本质隔离的本质在于实现独立性和安全性,通过这两者,为每个客户提供一个能够有效,安全使用共享资源的环境。独立性: 隔离确保每个租户都有其自己的资源(如CPU时间、内存空间、磁盘空间等),数据,运行环境和网络通信,且这些都是互不干扰的。这使得每个租户都能在其自己的独立环境中运行,无需担心受到其他租户的影响。安全性: 隔离也保护每个租户的数据,防止其数据被其他租户访问或修改。此外,隔离还能限制每个租户的操作权限,使其只能执行一些安全的操作,以防止其执行可能影响其他租户或整个系统安全的操作。但是现实中我们往往做不到完全的独立性和安全性,需要根据实际的业务情况确定架构,从而有了不同层面的隔离策略。我们在实际工作中,对于隔离策略能感受到的最直接的影响是:一个良好的隔离策略可以在一定程度上改善服务的稳定性,减少因为某些不可预知的突发事件导致的线上问题影响范围。隔离是一件系统工程,我们从其应用层面和基于租户的落地策略来看这个事情。隔离策略的应用层面隔离策略可以应用在多个层面,并且从落地的位置来看,可以分为以下几个层: ...继续阅读 (167)


    love 0
    admin
    发表于
    2023-12-16 14:02:49

    指标的本质

    在我们的工作中经常会看到各种类型的指标,如营收指标、技术指标、效能指标等等,细化下来有年营收金额、SLA、千行代码缺陷率等等。这些指标量化着我们的工作和目标,让我们朝着目标前进,如果指标有问题,也会导致走偏,或者为了指标而玩数字游戏。当迷惑于指标,或者指标有问题的时候,需要停下来思考一下:指标是什么,可以分为几类?指标有什么价值?指标是如何生成的?制定指标的过程中有什么讲究?如何评判一个指标的好处?跟进指标的过程中有什么注意点?对指标进行复盘时要看哪些点?指标是什么指标的本质是一种衡量工具,它提供了一个客观的、定量的方法来评价某个特定的目标或过程的性能或结果。换句话说,指标是把抽象的目标或过程转化为可以衡量和跟踪的具体数值,是一个由虚转实的工具。指标的设计和选择必须反映出我们所关注的核心问题和目标。比如,如果我们的目标是提高产品质量,那么我们需要的指标可能包括产品缺陷率,客户满意度等。同时,指标也是一种沟通工具。它们可以帮助团队成员理解目标,以及衡量他们的工作是否有助于实现这些目标。当所有人都清楚地知道他们的工作如何对公司的总体目标产生影响时,他们可能会更积极地参与和投入。总的来说,指标的本质是将目标和过程量化,以便于衡量和沟通,从而推动团队或组织向预定的目标前进。从价值的角度来看,指标在企业管理和决策中发挥着重要的作用:提供信息和见解:指标能够提供实时的、可量化的信息,帮助企业了 ...继续阅读 (174)


    love 0
    admin
    发表于
    2023-12-16 14:01:43

    成为问题解决者和好传声筒

    在我们的工作中会遇到很多问题,也会有人来问我们问题,对于问题,我们可能会选择直接解决,或者 @ 某个人来解决,或者 @ 好几个人来解决。如果一个问题是交到我们这里来解决,尽量成为问题解决者。成为问题解决者成为问题的解决者意味着什么?对于技术管理者来说,意味着我们要负责任地处理问题,去解决问题,而不是转发,一定是要对问题本身有认知,有判断后再去处理,再去解决,而不是简单地将问题转发给其他人。这就要求我们深入全面的了解问题的背景和现状,分析问题的根源和可能的解决方案;这就要求我们具备批判性思维、解决问题的能力,以及对我们负责的业务领域和技术领域有深入的理解。也意味着技术管理者要对他的决策和行动负责。我们不仅要解决当前的问题,还要预防未来可能出现的问题,有前瞻性的思维,能够预见可能出现的问题,并提前做好准备。对于一线开发同学来说,意味着我们要负责任地处理问题,去解决问题,而不是转发,不是简单地把问题推给其他人,需要负责任并主动的去寻找解决方案。这需要我们深化对问题的理解,探索可能的解决方案,然后付诸行动。这不仅要求我们具备强大的技术能力,也要求我们有独立思考和解决问题的能力。在面对问题时,我们不应该急于求成,而应该耐心分析,找出问题的根源。这可能需要我们查阅相关文档和资料,或者利用调试工具进行深入地分析。我们必须理解问题的本质,以便找出最有效的解决方案,可能最终只是改一个配置或一行代码。 ...继续阅读 (179)


    love 0
    春秋十二月
    发表于
    2023-12-16 13:49:00

    一个积分攻击定理的证明

    【定理】设多项式,其中q是某个素数的方幂,Fq为有限域,则 若是置换多项式,则【证明】 春秋十二月2023-12-16 21:49发表评论 ...继续阅读 (139)


    love 0
    Carl Notes
    发表于
    2023-12-16 11:47:31

    如果你对IPTV(全地球的)感兴趣-CarlZeng

    2023年12月:支持m3u链接、m3u源文件等IPTV源检查器打开IPTV Checker,在线M3U8播放器或观看IPTV直播,测试M3U直播源若订阅源网址无法打开,将网址粘贴到在线网络加速器或在线浏览器打开,然后全选复制订阅源内容 ...继续阅读 (134)


    love 0
    沉冰浮水
    发表于
    2023-12-16 11:13:22

    「代码片段」JavaScript 数组的 reduce() 方法

    刷贴吧时看到的一个需求示例,让 AI 写了下用的 reduce() 方法,之前只是大概知道有这么个东西,姑且借这个例子加深下印象。more文档Array.prototype.reduce() - JavaScript | MDNhttps://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce代码案例(() => { const data = [ { k: "a", v: 1 }, { k: "a", v: 1 }, { k: "a", v: 2 }, { k: "a", v: 3 }, { k: "b", v: 3 }, { k: "b", v: 3 }, { k: "b", v: 2 }, { k: "c", v: 2 }, { k: "c", v: 1 }, { k: "c", v: 1 }, ]; /* 转换成如下格式 [ { k: "a", v: [1, 2, 3] }, { k: "b", v: [3, ...继续阅读 (146)


    love 0
    流动
    发表于
    2023-12-16 10:15:33

    2023年12月北京暴雪记录

    记录暴雪下普通打工人的生活。12月14日 周四北京的雪已经连着下了两天了。12月11日,也是因为下雪,晚上打车打到10点半才叫到车。所以这次下雪后,晚上就早走了。7:15坐上公司摆渡车,7:40左右到西二旗。下车前刷微博看到有说昌平线故障,还没细看就到站下车了,还没想到事情的严重性。路口已经有交警在指挥交通,看见两辆消防车在等红灯,事后想可能是去救援的。走到进站口,就听到有人喊,“昌平线故障不停车,请更换其他交通工具”。我坐13号线,继续往前走,就看到了下面的情景。栏杆里全是人,后面的人还在不断的往里进。看了下门口的人不动,人太多,不敢进去,先看看情况。过了一会,有人喊13号线也停了,扭头赶紧走。第一反应打车,看了下,排队900人,直接放弃,换公交。最近的公交站在西二旗大街,走吧。到公交站一看,人更多,本来路就窄,全是人,走都没法走。公交也没戏了,继续走吧,走过这段到前面看看再。事后看说有的车被挤爆了,吓的别的车都不敢开门了。走的有点冷,闻见一股香味,一看手机快8点半了,找个地吃点东西先。一碗馄饨下肚,暖和多了,继续上路。走的小腿有点酸了,终于到公交站了。等了一小会,总算上车了。车也不敢开的快,10迈左右。晚上10点,终于到家了。路上花费2小时45分钟。12月15日 周五早上坐公交到地铁站。你的浏览器不支持video标签。霍营地铁站盛况,人挤满了整个通道。立马出站,换乘公交。路上花 ...继续阅读 (140)


    love 0
    crossoverJie
    发表于
    2023-12-16 07:59:26

    技术阅读周刊第

    技术阅读周刊,每周更新。历史更新20231117:第六期20231124:第七期20231201:第八期20231215:第九期moreGolang: 14 Shorthand Tricks You Might Not Know! | by Nidhi D | Dec, 2023 | CanopasURL:https://blog.canopas.com/golang-14-shorthand-tricks-you-might-not-know-8d8d21954c49同时声明和初始化变量123456// Long formvarmessagestringmessage ="Hello, Golang!"// Shorthandmessage :="Hello, Golang!"声明和初始化多个变量12345678// Long formvara, b, cinta =1b =2c =3// Shorthanda, b, c :=1,2,3交换变量123456789a, b :=1,2// Long formtemp := aa = bb = temp// Shorthanda, b = b, aDefer 函数调用12345678910// Long formfunccleanup(){// Cleanup logic}defercleanup()// Sho ...继续阅读 (241)


    love 0
    bigwhite
    发表于
    2023-12-16 03:22:33

    通过实例理解OAuth2授权

    本文永久链接– https://tonybai.com/2023/12/16/understand-oauth2-by-example在之前的《通过实例理解Go Web身份认证的几种方式》和《通过实例理解Web应用授权的几种方式》两篇文章中,我们对Web应用身份认证(AuthN)和授权(AuthZ)的几种方式做了介绍并配以实例增强理解。在现实世界中,还有一大类的认证与授权是在前面的文章中没有作为重点介绍的,那就是OAuth2授权与基于OAuth2之上的OpenID身份认证(OIDC, OpenID Connect)。近期接触到开放平台(Open Platform)的设计和开发,整个开放平台的授权流程都是基于OAuth2打造的,因此在这篇文章中,我就来先来通过实例详细说说OAuth2,OIDC将放在后面的文章中说明。1. OAuth是什么OAuth中的O代表了Open,OAuth直译过来就是开放授权。OAuth是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表等),而无需将用户名和密码提供给第三方应用。OAuth不是什么新技术了,其原型最早可追溯至2006年末,至今也快小20年了。但直到2010年4月,OAuth 1.0协议才以RFC 5849的形式正式发布。不过OAuth 1.0版本存在两个主要问题,一是当初设计时仅是为 ...继续阅读 (200)


    love 0
    豌豆花下猫
    发表于
    2023-12-16 00:00:00

    Python 潮流周刊#31:继 iOS 后,新 PEP 提议官方添加 Android 为支持平台

    你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。本周刊开源,欢迎投稿。另有电报频道作为副刊,补充发布更加丰富的资讯。🐱产品推荐本周刊由“Python猫”出品,这是一个以 Python 技术科普和分享为主的科技自媒体,欢迎关注同名公众号。品牌合作请私信联系。🦄文章&教程1、PEP-738:将 Android 添加为第 3 层支持的平台周刊第 24 期分享过PEP-730 CPython 提供对 iOS 的官方支持,这个 PEP-738 则是将目标转到了 Android 系统。目前两个 PEP 都是草案状态,但 Android 使用的是 Linux 内核,也许这个 PEP 被采纳的可能性会更大些吧?(附:今年 Python 语言峰会上的Python on Mobile: State of the Union)2、深度解析 Marker:AI 驱动的 PDF 布局检测引擎的源码解读第 29 期分享的 PDF 转 Markdown 工具Marker短短两周时间已经逼近 5K star了。这篇文章解读了它的工作原理,介绍了它的 6 个阶段及所依赖到的工具(PyMuPDF、OCRMyPDF、Tesseract 等等)。3、现实世界的 match/casePython 3.10 引入了match-case模式匹配语法,你们在项目中用过了么?这篇文章介绍了一种 ...继续阅读 (161)


    love 0
    张晋涛
    发表于
    2023-12-15 20:21:34

    当 Redis 遇上 Serverless

    大家好,我是张晋涛。前段时间看到了很多关于数据库要不要部署在 Kubernetes 之上的讨论,这些年,这种讨论时有发生。这个事情并没有绝对的定论,因为每个人都是基于自己的认知,或基于自己过往的经验在进行分析、讨论,每个人的出发点不同,自然得到的结论也是不一样的。2021 年的时候,我曾经做过一次线上分享:Redis 容器化技术选型,K8S 并非唯一 | MoeLove在那次分享中,我主要是聊了一些容器化的技术手段,Redis 自身的一些特性,以及基于不同业务场景或者需求时,可以选用的技术方案。今天这篇,我想再聊聊 Redis 在 Serverless 场景下的应用。Redis 的特性及应用场景Redis是一个开源的,基于内存的数据存储引擎。它非常简洁,但功能全面实用、灵活多变,常被称之为数据库领域的 “瑞士军刀”,被数百万开发者用作数据库、缓存、流引擎和消息代理。Redis 的主要特点速度快:由于它是一个内存型数据库,数据的读取写入都直接通过内存完成,避免了读写硬盘而可能造成的延迟问题。即使在高频的读写场景下也可以有非常不错的表现;适用场景丰富:Redis 有着丰富的数据类型,可以灵活的用于各类场景中(下文将详细介绍);上手成本低:Redis 的操作指令和使用是非常简单的,包括它的通信协议 RESP 也设计的非常简洁,感兴趣的小伙伴可以参考我之前的文章理解 Redis 的 RES ...继续阅读 (121)


    love 0
    Hoyue
    发表于
    2023-12-15 14:56:33

    【计网】华为ICT网络赛道地区赛复习

    前言又到了华为ICT地区赛的时间,这是一个简单的ICT复习。考纲根据华为Asia Pacific地区提供的内容进行简单复习,今年因为课程繁忙,很多都没认真看,只能是简单的过过概念了。Datacom这一部分是网络基础,占50%。TCP/IP协议基础知识这一部分要求掌握TCP、UDP、ARP、IP、NAT、Telnet、FTP 和 DHCP 的技术原理和配置。TCP(Transmission Control Protocol)和UDP(User Datagram Protocol):TCP:可靠的、面向连接的协议,确保数据的可靠传输,提供错误检测和重传机制。UDP:无连接的协议,传输速度快,但不保证数据的可靠性,用于实时通信和流媒体等场景。ARP(Address Resolution Protocol):用于将IP地址映射到MAC地址,使得在局域网中设备可以通过IP地址找到对应的物理硬件地址。IP(Internet Protocol):负责在网络中传输数据包,将数据包从源地址路由到目标地址。IPv4和IPv6是两种常见的IP版本,用于定义数据包如何在网络中传输和寻址。NAT(Network Address Translation):允许多个设备共享单个公共IP地址的技术,将私有网络中的IP地址映射到公共IP地址,提高了网络安全性和IP地址利用率。Telnet:一种远程登录协议,允许用户 ...继续阅读 (180)


    love 0
    Meekdai
    发表于
    2023-12-15 14:08:39

    Gmeek快速上手

    [Gmeek](https://github.com/Meekdai/Gmeek) 一个博客框架,超轻量级个人博客模板,完全基于`Github Pages `、 `Github Issues` 和 `Github Actions`,可以称作`All in Github`。 ...继续阅读 (107)


    love 0
    白宦成
    发表于
    2023-12-15 14:04:32

    什么样的照片有长期的留存价值?

    这两天在梳理我的老照片,一边看一边删,也整理出了我眼中,有长期留存价值的照片。希望通过总结出规则,方便自己日常拍照、日常清理照片。原则有清晰人像的照片:我们的记忆是跟随人一起的,我们会记得某些人的某些时刻。因此值得长期留存的照片,一定是有清晰人像的照片。无论是正面出镜,还是背影出镜,能辨别出清晰人像的照片,才是有留存价值的。单纯的风景照片从长周期的记忆视角来看,不值一提。有故事感的照片:虽然有清晰人像,但故事中有一定的冲突、故事感的照片,才值得我们留存。自拍符合清晰人像,但未必符合故事感。如果只是自己的脸,其实留存下来没有太大的意义(只能用来感慨自己的人生变化还是蛮大的,已经没有了当年的朝气)。定期清理照片除了定下规则,也需要定期清理照片,这样才能在需要的时候,快速找到自己的照片。照片多并不一定是好事,有价值的照片多才是好事。手机相机还是得好翻自己的老照片,明显感觉到,手机拍照记录生活还是更主流。相机虽然也有,但更多是「作品」,而不是「生活」,生活还是得手机。 ...继续阅读 (172)


    love 0
    joojen Zhou
    发表于
    2023-12-15 13:48:22

    说说董宇辉的“小作文”事件

    东方甄选的小作文事件闹的可谓是沸沸扬扬,大概情况我就不赘述了。总结一句话叫做人红是非多。和之前的疯狂小杨哥一样,无数双眼睛盯着他们,随便有点风吹草动就会被网络放大,甚至多天占据热榜。大概情况是董宇辉在直播的时候说了一句小编别胡说,很多台本也是自己写的,而不是像后台小编说的,都是他们提前编辑好,主播只是按照台本来说。更有意思的是,在后台,小编还言之凿凿的给评论者回复,看回复的内容,大概意思是,你们这帮董宇辉的粉丝太那个什么了,我们才是功臣,凭啥好处都让董宇辉一个人占了?被俞敏洪总结为小编缺乏职业精神,是管理内部出了问题。作为一个团队,只红了董宇辉一个人,万千宠爱于一身,很多人,当然眼红,甚至不服。最新的进展是,俞敏洪作为董事长,出来道歉,并且对董宇辉个人道歉,接着作为CEO也跟着出来道歉。要知道,事件发生后,CEO东方小孙还专门直播来说了这个事情。被网友总结为给粉丝开会,结果可想而知,导致事件愈演愈烈。从目前的情况来看,作为董事长和CEO做的姿态,不过是安抚东方甄选和董宇辉的粉丝。毕竟,东方甄选只要还想卖货,就不能得最粉丝,否则,直接玩完。明眼人,都知道,东方甄选的管理确实出了问题。一方面,只有董宇辉一个超级头部,这对于一个平台型卖货公司,是非常不利的,如何创造更多的头部或者叫网红主播,这才是当下东方甄选急需要解决的问题。再者,我们作为一个旁观者,都能明显看出来,从CEO到主播,再到 ...继续阅读 (93)


    love 0
    joojen Zhou
    发表于
    2023-12-15 13:47:00

    构建系统,落地最佳实践

    昨天刚刷完古典老师的《跃迁》,其实这算是一本老书了,18年 读他的《拆掉思维力的墙》之后就发现还有一本《跃迁》一直没拿出来读。这次花了几天时间刷了一遍。古典老师和其他的个人提高类的作者不太一样的是,他是亲身去实践的。比如时间管理,他是自己研究并用了之后,才写出来的。并且将他的使用工具都分享出来了,基本上都是电子类的工具软件。古典老师还自己写公众号,做视频号直播等等。是个典型的躬身入局者。我再想,之前我们一直研究和时间效率提高,反而没有形成自己的一套理论体系。古典老师是将这些融会贯通,并且自己先跑通了之后,达到融会贯通的境界,然后分享出来,自然更加系统,也更有说服力。前两天的文章我说要有“作品”思维,这就是典型的例证。还有之前一直说的商业模式,时间的复利,虽然这些理论是很多人 都知道,我自己也受益匪浅的,但是没有带着一个从零开始的实践展示给别人,所以别人就会认为这些都只不过是说说的。没有“作品”,说服力也大打折扣。所以,下一步,我想将这些系统逐渐构建成自己的理论体系,然后通过一些落地化的 实践案例,整体分享出来。这样也会更有说服力。之前基本上都是小打小闹,没有真正把这些事情串联起来形成系统。现在准备通过落地实践的同时,达到“陪伴”的作用,大部分人可能需要的并不是理论指导,而是自始而终的“陪伴”,可能这样才能让人坚定信心,坚持一直走下去。毕竟很多个人提高,长期主义的事情,都是反人性的。 ...继续阅读 (109)


    love 0
    joojen Zhou
    发表于
    2023-12-15 13:46:16

    关于早起

    这一段时间是我早起比较密集的时间。工作之后,很少这么早起了,偶尔出差或者其他原因也有早起,但是很少。之前都是9点上班,租的房子基本上在上班附近,起床洗漱下楼吃早饭也就十五分钟,也就是说,八点半起床是足够的。再往前数,通勤距离稍微长一点的,大概有10年足有时间,我的早上闹铃都是7:30,这个时间还是相对比较宽裕的,保证8:30上班。大部分公司的打卡时间都是8:30-9:00。所以这个作息习惯也是保持了很多年。而最近,跨城通勤,加上早上顺便送孩子去学校,我得6:45起床,7点钟前准备早饭,孩子起床,7:20出门。这个点,对于很多打工人来说,并不算早。在我之前十数年的生活习惯中,算是早的了。很多牛人都鼓励大家早起,早起写作,早起阅读,早起健身等等。总之,早起有很多好处。之前我一直没有这方面的动力,也没有做尝试。这段时间算是被动尝试了一下早起,确实好处不少。早起,由于睡眠时间的减少,意味着晚上得按点睡觉,否则,第二天会非常难受。按照正常7-8小时睡眠来算,11点得上床睡觉。之前由于晚起,晚上渐渐养成了晚睡的坏习惯,有时候甚至凌晨两三点。这对人的身体机能是一种极大的伤害。早起可以有效杜绝这种坏习惯。跨城通勤的还有个好处是,虽然一直在路上,通勤基本依靠公共交通,算是薅国家羊毛,可以利用这些时间听书,这段时间,我就是利用通勤时间,刷了好几本书。平时难得有这么多大段的属于自己的时间。尝到早起的甜头 ...继续阅读 (90)


    love 0
    ChenSoul
    发表于
    2023-12-15 13:30:00

    2023-12-15|JNDI InitialContext源码分析、ClassLoader加载机制

    Today I Learned. 今天分享内容:JNDI InitialContext源码分析、ClassLoader加载机制。 JNDI InitialContext 源码分析 JNDI包结构 javax.naming Context InitialContext Name CompositeName CompoundName NameImpl NameParser … ...继续阅读 (122)


    love 0
    Inhzus
    发表于
    2023-12-15 12:28:55

    Filco Minila-R 上手体验

    双十二先是下单了 Niz 84 ,到货后哪儿哪儿都不满意:手感、颜值。 网上看了圈最后下单了 Filco Minila-R,目前体验尚佳。 本人键盘使用经历:poker ...继续阅读 (117)


    love 0
    Bboysoul\'s Blog
    发表于
    2023-12-15 09:55:00

    我关注的项目这周更新了什么-20231215

    简介每周五更新,所有的更新也会发送到我的频道https://t.me/bboyapp规则pre release的不记录只记录重要的更新上一版本版本的bugfix不记录,比如某一个项目最新版本是7.0.0 上一个版本6.0.0发布了一个bugfix 6.0.1 那么不会记录比如lens发布了一个新版本,那么openlens也会发布一个新版本,此时只会记录lens发布的信息,不会记录openlens发布的信息 ...继续阅读 (83)

上一页 442/4404 下一页
沪ICP备19023445号-2号
友情链接