
计算机
文章平均质量分 90
pythonxxoo
这个作者很懒,什么都没留下…
展开
-
Java开发学习(十二)----基于注解开发依赖注入
Spring为了使用注解简化开发,并没有提供、对应的注解,只提供了自动装配的注解实现。首先准备环境:添加一个配置类添加BookDao、BookDaoImpl、BookService、BookServiceImpl类创建运行类App最终创建好的项目结构如下:环境准备好后,运行后会发现有问题出现问题的原因是,在BookServiceImpl类中添加了BookDao的属性,并提供了setter方法,但是目前是没有提供配置注入BookDao的,所以bookDao对象为Null,调用其sav原创 2022-07-14 12:44:38 · 237 阅读 · 1 评论 -
低代码如何构建支持OAuth2.0的后端Web API
OAuth 是一个安全协议,用于保护全球范围内大量且不断增长的Web API。它用于连接不同的网站,还支持原生应用和移动应用于云服务之间的连接,同时它也是各个领域标准协议中的安全层。(图片来源网络)接下来我们来仔细聊聊OAuth2.0是什么,有什么用处。再说OAuth2.0之前,我们先聊聊OAuth。大家可以把它理解为OpenID的补充,但是服务内容完全不同。OAuth允许用户授权第三方网站访问他们存储在其他网站服务器上的信息,而不需要分享他们的访问许可或他们数据的所有内容。OAuth2.0尽管是OAuth原创 2022-07-14 01:15:36 · 282 阅读 · 0 评论 -
Go死锁——当Channel遇上Mutex时
最近,我在测试ws长链接网关,平均一个星期会遇到一次服务假死问题,因为并不是所有routine被阻塞,故runtime的检查无法触发,http health check又是另开的一个端口,k8s检查不到异常,无法重启服务。 经过一番排查论证之后,确定了是 **混用带缓冲的Channel和Metux造成的死锁 (具体在文末总结)**问题,请看下面详细介绍。我们使用了gin框架,预先接入了pprof封装组件,这样通过http(非生产)就能很方便的查看go runtime的一些信息。 果不其然,我们打原创 2022-07-13 12:46:17 · 567 阅读 · 0 评论 -
业务可视化-让你的流程图“Run“起来(2.问题与改进)
首先,感谢大家对上一篇文章[业务可视化-让你的流程图"Run"起来]的支持。分享一下近期我对这个项目的一些改进。流程运行开始后,异步执行,无法同步等待流程运行结束。**改进方法:**修正后流程(黄色部分为修改点):调用代码:问题2:工程需要自己下载编译,无法自动引用。改进方法:将代码发布到maven仓库,然后可以用下面的方法调用:Gradle发布到maven仓库遇到的坑:1. 自动发布到maven仓库后,无法release。首先,在创建了maven仓库的账号,并且完成相关配置后,发布流程如下a)原创 2022-07-12 12:41:54 · 244 阅读 · 0 评论 -
全面吃透JAVA Stream流操作,让代码更加的优雅
全面吃透JAVA Stream流操作,让代码更加的优雅☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝在JAVA中,涉及到对、等集合类中的元素进行操作的时候,通常会通过循环的方式进行逐个处理,或者使用Stream的方式进行处理。例如,现在有这么一个需求:在JAVA7及之前的代码中,我们会可以照如下的方式进行实现:在JAVA8及之后的版本中,借助Stream流,我们可以更加优雅的写出如下代码:直观感受上,的实现方式代码更加简洁、一气呵成。很多的同学在代码中也经常使用Stream流,但是对Stream流的认知往往也是仅限原创 2022-07-12 01:15:14 · 259 阅读 · 0 评论 -
Python: 列表、数组及迭代器切片的区别及联系
众所周知,Python中的列表和numpy数组都支持用语法来表示区间的的切片索引:以上操作实际上等同于用切片索引对象对其进行切片:numpy数组还支持用列表和numpy数组来表示切片索引,而列表则不支持:Pytorch的数据集支持单元素索引,但不支持切片:要想对进行切片,需要创建对象:对象同样支持单元素索引操作且不支持切片:查看Pytorch源码可知,类的定义实际上是这样的:从以上代码片段可以清晰地看到类用来存储本身做为子集的索引集合,然后重写(override)了方法来实现对子集的单元素索引原创 2022-07-11 01:15:29 · 315 阅读 · 0 评论 -
聊聊数据溢出的事
直接看代码上述代码,sys_time_tick_ms每隔1ms自动加1,Time_Interval函数的作用是的,计算上一次调用Time_Interval和下一次调用的时间差,单位ms。在这里存在一个风险,就是sys_time_tick_ms到达最大值后会溢出,会变成0。所以之前的代码我的习惯是先判断一下sys_time_tick_ms和old_time_tick的大小关系。然而一次和同事交流的时候,我意识到其实不用这么做的,sys_time_tick_ms直接减去old_time_tick就行。如下代原创 2022-07-09 12:45:34 · 234 阅读 · 0 评论 -
4种Kafka网络中断和网络分区场景分析
本文分享自华为云社区《Kafka网络中断和网络分区场景分析》,作者: 中间件小哥。以Kafka 2.7.1版本为例,依赖zk方式部署3个broker分布在3个az,3个zk(和broker合部),单分区3副本网络中断前:broker-1和broker-0(leader)间的网络中断后,单边中断,zk可用(zk-1为leader,zk-0和zk-2为follower,zk-0会不可用,但zk集群可用,过程中可能会引起原本连在zk-0上的broker节点会先和zk断开,再重新连接其他zk节点,进而引起cont原创 2022-07-09 01:14:37 · 277 阅读 · 0 评论 -
基于.NetCore开发博客项目 StarBlog - (15) 生成随机尺寸图片
之前我写了一篇 .NetCore实现图片缩放与裁剪 - 基于ImageSharp,里面有生成尺寸随机图片的算法,同时也是StarBlog博客中原有的实现方式,不过偶尔刷新页面的时候我注意到有些图片加载不出来,调试了一下发现原来是报错了,原本这个算法有bug。于是利用周末时间重新实现了一遍,这下可以说是完美了~生成随机尺寸图片的功能目前用在文章卡片上,原本使用的是LoremPicsum提供的服务,但它的服务器在国外,上线之后发现加载太慢了,经常加载不出来,于是决定自己实现一版。功能基础是上文提到的文章中的Im原创 2022-07-08 12:47:06 · 624 阅读 · 0 评论 -
SpringBoot自定义starter开发分布式任务调度实践
在前面的博客《Java定时器演进过程和生产级分布式任务调度ElasticJob代码实战》中,我们已经熟悉ElasticJob分布式任务的应用,其核心实现为elasticjob-lite-spring-boot-starter,少量配置开箱即用;还有前面也有博客文档谈谈走进Spring Boot源码学习之路和浅谈入门,了解Spring Boot的原理,没看过伙伴可以先翻看下前面的文章。SpringBoot官网已经提供非常多的starter使用,然而今天我们就来模拟封装一个简易的分布式任务调度实现定时任务选主执原创 2022-07-08 01:16:19 · 319 阅读 · 0 评论 -
数组容器(ArrayList)设计与Java实现,看完这个你不懂ArrayList,你找我!!!
本篇文章主要跟大家介绍我们最常使用的一种容器、的原理,并且自己使用实现自己的数组容器,让自己写的容器能像那样工作。在本篇文章当中首先介绍的一些基本功能,然后去分析我们自己的容器应该如何进行设计,同时分析我们自己的具体实现方法,最后进行代码介绍!!!我们来看一个简单的代码,随机生成100个随机数,查看生成随机数当中是否存在50这个数。上述代码包含了最基本的一个功能,一个是方法,向数组容器当中加入数据,另外一个方法是从容器当中拿出数据,方法改变容器里的数据,方法删除容器当中的数据。的很多其他的方法都是围绕这四原创 2022-07-07 12:49:08 · 383 阅读 · 0 评论 -
Android 12(S) 图像显示系统 -
必读:Android源码中有包含drm_hwcomposer:/external/drm_hwcomposer/drm_hwcomposer 这个过程下的代码架构变化还是很频繁的,我这里分析直接去 drm_hwcomposer 的官方地址抓取最新的code来做分析了这个工程编译后会产生 shared library :/vendor/lib/hw/hwcomposer.drm.sodrm_hwcomposer作为一个HAL module,其写作实现还是遵循了旧有的Android HAL Module的接口实原创 2022-07-06 06:29:27 · 954 阅读 · 0 评论 -
爬虫(9) - Scrapy框架(1) | Scrapy 异步网络爬虫框架
5个组件:2个中间件:Scrapy操作文档(中文的):https://www.osgeo.cn/scrapy/topics/spider-middleware.htmlcmd窗口,pip进行安装Scrapy框架安装时常见的问题找不到win32api模块----windows系统中常见实例:scrapy.cfg:项目的配置文件,定义了项目配置文件的路径等配置信息cd到spiders目录下,输出如下命令,生成爬虫文件:方式一:cmd启动cd到spiders目录下,执行如下命令,启动爬虫:方式二:py原创 2022-07-05 12:51:05 · 732 阅读 · 0 评论 -
抓到Dubbo异步调用的小BUG,再送你一个贡献开源代码的机会
hello,大家好呀,我是小楼。最近一个技术群有同学at我,问我是否熟悉Dubbo,这我熟啊~他说遇到了一个Dubbo异步调用的问题,怀疑是个BUG,提到BUG我可就不困了,说不定可以水,哦不…写一篇文章。遇到问题,尤其不是自己遇到的,必须要复现出来才好排查,截一个当时的聊天记录:他的问题原话是:注意几个重点:听到这个描述,我的第一反应是这个返回结果定义为boolean肯定有问题!《Java开发手册》中就强调了RPC接口返回最好不要使用基本类型,而要使用包装类型:但这个是业务编码规范,如果RPC框架不能使用原创 2022-07-05 07:31:10 · 215 阅读 · 0 评论 -
一次 Keepalived 高可用的事故,让我重学了一遍它!
原文首发:你好,我是悟空。上次我们遇到了一个 MySQL 故障的事故,这次我又遇到了另外一个奇葩的问题:虽然没能重现 Keepalived 的这个问题,但是我深入研究了下 Keepalived 的原理以及针对核心配置参数做了大量实验。悟空带着大家一起看下 Keepalived 到底是如何运转的,以及为什么它能做到高可用。原理讲解分为上、中、下三篇:上篇涉及以下知识点:中篇涉及以下知识点:下篇设计以下知识点:谈到 Keepalived,给人的印象就是用在高可用架构中,保证某个服务不故障,其实它还有很多其他的功原创 2022-06-30 01:14:21 · 285 阅读 · 1 评论 -
基于.NetCore开发博客项目 StarBlog - (13) 加入友情链接功能
很快啊,pia的一下,博客上线已经一周时间了(网址:http://blog.deali.cn)阅读量不高,不过对于没有做过SEO的网站来说已经不错了~这段时间虽然忙不过一直在写代码给博客添砖加瓦~~(Github上的Commit每天不断的)~~这不,友情链接功能来了~本文来一步步介绍这个功能的实现。同时所有项目代码已经上传GitHub,欢迎各位大佬Star/Fork!先分析一下功能友情链接,既可以自己手动添加,也可以由访问网站的人申请其他站长可以申请互换友链,提交申请之后在博客后台可以看到,确认之后就会显示原创 2022-06-29 01:18:52 · 206 阅读 · 0 评论 -
MySQL十种锁,一篇文章带你全解析
MySQL有两个核心的知识点,索引和锁。前几篇文章已经详细讲解了MySQL索引实现机制,今天再一起学习一下MySQL的锁。当多个事务并发操作同一批数据的时候,如果不加锁,就无法保证事务的隔离性,最后导致数据错乱。加锁是为了保证并发操作下数据的正确性。按锁的粒度可分为:表锁、页面锁、行锁、记录锁、间隙锁、临键锁按锁的属性可分为:共享锁、排它锁按加锁机制可分为:乐观锁、悲观锁下面依次介绍一下这几种锁:MyISAM和InnoDB引擎均支持表锁。优点:开销小,加锁快,不会出现死锁。缺点:锁定力度大,发生锁冲突概率高原创 2022-06-28 12:42:57 · 220 阅读 · 0 评论 -
MOEAD原理及Python实现、MOEAD实现、基于分解的多目标进化、 切比雪夫方法-(python完整代码)
答:每个解对应的是一组权重,即子问题,红点附近的四个点,也就是它的邻居怎么确定呢?由权重来确定,算法初始化阶段就确定了每个权重对应的邻居,也就是每个子问题的邻居子问题。权重的邻居通过欧式距离来判断。取最近的几个。https://blog.youkuaiyun.com/Twobox/p/16408751.html代码实现设计Objective_FunctionMoead_Util.py实现.py效果-ZDT4...原创 2022-06-28 01:16:39 · 3150 阅读 · 0 评论 -
TopoLVM: 基于LVM的Kubernetes本地持久化方案,容量感知,动态创建PV,轻松使用本地磁盘
回到顶部## 正文研发测试场景下,一般追求的是一键快速起环境,横向动态复制,一人一套,随起随用,用完即走。作为使用方,其不用关心实际的物理资源是怎样的,环境起在哪里,只要声明自己的使用需求即可。但作为方案构建者以及infrastructure支撑,我们却深知,要想提供更好的解决方案,个中问题还有很多,且颇为不易。比如在过去,笔者就曾一度困扰于如何优雅的放开本地物理盘给业务使用这个问题,尤其是本地HDD数据盘。这里有个背景,我们的Kubernetes研发测试集群是用线上退下来的过保机器搭建,然后七牛又搞云存储原创 2022-06-27 01:14:38 · 767 阅读 · 0 评论 -
一图读懂k8s informer client-go
我们都知道可以使用k8s的Clientset来获取所有的原生资源对象,那么怎么能持续的获取集群的所有资源对象,或监听集群的资源对象数据的变化呢?这里不需要轮询去不断执行List操作,而是调用Watch接口,即可监听资源对象的变化,当资源对象发生变化,客户端即可通过Watch接口收到资源对象的变化。Watch接口虽然可以直接使用,但一般情况下很少直接使用,因为往往由于集群中的资源较多,我们需要自己在客户端去维护一套缓存,而这个维护成本比较大。也是因为如此,client-go提供了自己的实现机制,Informe原创 2022-06-26 12:44:29 · 381 阅读 · 0 评论 -
拒绝蛮力,高效查看Linux日志文件!
日常分析问题时,会频繁地查看分析日志,但如果蛮力去查看日志,耗时费力还不一定有效果,因此我总结了在Linux常用的一些日志查看技巧,提升日志阅读效率。在我们查找某些异常日志时,经常需要同时查看异常前面或后面的一些日志,因为有时前面或后面的日志就已经标识出异常原因了,而grep的、、选项就提供了这种功能,如下:查看某个时间段的日志有时,需要查看某个时间段的日志,比如凌晨2点15分系统出现报警,上班后我们想看看这段时间的日志,看能不能找到点线索,方法如下:注:awk与sed实际并不解析时间,它们只是按正则原创 2022-06-25 12:52:26 · 524 阅读 · 0 评论 -
记录一下MySql update会锁定哪些范围的数据
目录* 1、背景在项目中,我们经常使用到语句,那么语句会锁定表中的那些记录呢?此处我们通过一些简单的案例来模拟下。2.2 数据库版本2.3 数据库的存储引擎2.4 锁是加在记录上还是索引上,那如果表中没有建立索引,是否就是加在表上的呢?其实不是,也是加在索引的,会存在一个默认的。参考链接: https://dev.mysql.com/doc/refman/8.0/en/innodb-locking.html#innodb-intention-locks此处可以理解加锁的单位是: 锁,即只会锁定原创 2022-06-24 12:43:08 · 154 阅读 · 0 评论 -
快速排序的简单理解
快速排序通过一趟排序将待排序列分割成独立的两部分,其中一部分序列的关键字均比另一部分序列的关键字小,则可分别对这两部分序列继续进行排序,以达到整个序列有序的目的。快速排序详细的执行步骤如下:第一种方式:固定位置选择基准值;在整个序列已经趋于有序的情况下,效率很低。第二种方式:随机选取待排序列中任意一个数作为基准值;当该序列趋于有序时,能够让效率提高,但在整个序列数全部相等的时候,随机快排的效率依然很低。第三种方式:从区间的首、尾、中间,分别取出一个数,然后对比大小,取这 3 个数的中间值作为基准值;这种方式原创 2022-06-23 12:43:24 · 159 阅读 · 0 评论 -
软件项目管理 8.4.软件项目质量计划
大家好,这节我们学习软件项目管理----质量计划–软件质量计划。软件质量计划是质量过程之一确定项目应达到的质量标准或者目标,同时,决定如何满足质量标准的计划安排和方法。为了达到质量目标,需要安排活动和方法。即将质量保证和质量控制活动规划出来。当然这个质量目标要适中,不能太高也不能太低。例如这是SPM项目的质量目标,首先设定质量模型,根据模型计算质量值。质量目标是质量分值大于85。那么质量计划的输出形式没有统一的标准,关键是将质量活动体现出来,以便项目将来执行过程中可以参照执行。第一种形式就是将质量活动体原创 2022-06-23 01:15:58 · 2556 阅读 · 0 评论 -
南京大学 静态软件分析(static program analyzes)-- introduction 学习笔记
回到顶部(go to top)# 一、Programming Languages体系静态程序分析是编程语言中应用层面下的一个细分领域,它是一个非常重要的核心内容。回到顶部(go to top)# 二、Static Analysis定义Static analysis analyzes a program P to reason about its behaviors and determines whether it satisfies some properties before running P.上图中原创 2022-06-21 12:48:18 · 710 阅读 · 0 评论 -
kubernetes code-generator使用
目录* Overview+ Prerequisites+ CRD+ code-generator+ 编写代码模板+ code-generator Tag说明Kubernetes中提供了多种自定义控制器的方式:Controller 作为CRD的核心,这里将解释如何使用 来创建自定义的控制器,作为文章的案例,将完成一个 Firewalld Port 规则的控制器作为描述,通过 Kubernetes 规则来生成对应节点上的 iptables规则。code-generator需要预先下载 。因为这原创 2022-06-21 01:16:01 · 407 阅读 · 0 评论 -
Spring Security:用户和Spring应用之间的安全屏障
本文分享自华为云社区《【云驻共创】深入浅出Spring Security》,作者:香菜聊游戏。Spring Security最早叫Acegi Security,这个名称并不是说它和Spring就没有关系,它依然是为Spring框架提供安全支持的。Acegi Security基于Spring,可以帮助我们为项目建立丰富的角色与权限管理系统。Acegi Security虽然好用,但是最为人诟病的则是它臃肿繁琐的配置,这一问题最终也遗传给了Spring Security。Acegi Security最终被并入Sp原创 2022-06-20 12:46:42 · 337 阅读 · 0 评论 -
基于.NetCore开发博客项目 StarBlog - (12) Razor页面动态编译
最近有段时间没更新博客开发笔记了,怠惰了啊 = =…趁着周末,给博客项目完善了一些细节的功能,然后准备部署上线~本来这篇文章是要记录几个功能(主题切换、项目监控、随机图片接口)的实现的,不过我在写页面的时候发现每次改完Razor都要重启好麻烦,所以踩坑了一番,便有了本文。虽然.Net6开始支持部分代码热更新了,不过还是很鸡肋,经常修改Razor页面了但点Apply还是没效果~我还是用回.NetCore3.1之前常用的动态编译比较好~首先NuGet安装,在中配置一下原本添加MVC服务是这样的改成这样(开发模原创 2022-06-20 01:14:16 · 273 阅读 · 1 评论 -
牛亚男:基于多Domain多任务学习框架和Transformer,搭建快精排模型
导读: 本文主要介绍了快手的精排模型实践,包括快手的推荐系统,以及结合快手业务展开的各种模型实战和探索,全文围绕以下几大方面展开:–快手的推荐系统类似于一个信息检索范式,只不过没有用户显示query。结构为数据漏斗,候选集有百亿量级的短视频,在召回层,会召回万级的视频给粗排打分,再选取数百个短视频,给精排模型打分,最后会有数十个短视频进行重排。推荐主要是双类或单类,快手推荐的特点是用户比较多,会超过3.0亿。我们的短视频,每天有百亿的分发量,候选的短视频有百亿之多,用户的行为差距会非常之大,比如,有些用户每原创 2022-06-19 12:47:05 · 230 阅读 · 0 评论 -
Python双人五子棋
这篇文章旨在介绍一个双人的五子棋程序。再次重申,本人不擅长对代码的可读性进行优化,所以可能有些杂乱(在所难免)。先瞅一眼效果图:请注意,这个棋子……是这么圆润立体!本程序不需任何素材图片,完全用代码绘制所需的图像,因此这样立体的棋子十分难能可贵。那么,这究竟是如何做到的呢?别急,听我慢慢道来。首先,一个好的程序必须配有高端大气的文字。对于博大精深的中文,gbk或utf-8的编码声明自然是非常必要的。于是,就有了第一行代码:然后,当然是模块的导入。本次所需的模块不多,只有sys、pygame和random原创 2022-06-19 01:13:13 · 508 阅读 · 0 评论 -
Elasticsearch学习系列一(部署和配置IK分词器)
Elasticsearch是什么?Elaticsearch简称为ES,是一个开源的可扩展的分布式的全文检索引擎,它可以近乎实时的存储、检索数据。本身扩展性很好,可扩展到上百台服务器,处理PB级别的数据。ES使用Java开发并使用Lucene作为其核心来实现索引和搜索的功能,但是它通过简单的RestfulAPI和javaAPI来隐藏Lucene的复杂性,从而让全文搜索变得简单。Elasticsearch的功能分布式:Elasticsearch自动将海量数据分散到多台服务器上去存储和检索提供模糊搜索等自动度很高原创 2022-06-18 12:46:53 · 1903 阅读 · 1 评论 -
House of apple 一种新的glibc中IO攻击方法
目录* House of apple 一种新的glibc中IO攻击方法+ 前言+ 利用条件+ 利用原理+ 利用思路- 思路一:修改线程变量- 思路二:修改结构体- 思路三:修改线程变量之- 思路四:修改全局变量+ 例题分析- 题目分析- 利用过程+ 总结提出一种新的中利用思路,暂且命名为。众所周知,高版本逐渐移除了等等一众全局变量,中题对钩子的利用将逐渐成为过去式。而想要在高版本利用成功,基本上就离不开对结构体的伪造与流的攻击。之前很多师傅都提出了一些优秀的攻击方法,比如house原创 2022-06-18 01:16:00 · 3065 阅读 · 0 评论 -
【大厂面试必备系列】滑动窗口协议
想象一下这个场景:主机 A 一直向主机 B 发送数据,不考虑主机 B 的接收能力,则可能导致主机 B 的接收缓冲区满了而无法再接收数据,从而导致大量的数据丢包,引发重传机制。而在重传的过程中,若主机 B 的接收缓冲区情况仍未好转,则会将大量的时间浪费在重传数据上,降低传送数据的效率。所以引入了流量控制机制,主机 B 通过告诉主机 A 自己接收缓冲区的大小,来使主机 A 控制发送的数据量。总结来说:所谓流量控制就是控制发送方发送速率,保证接收方来得及接收。TCP 实现流量控制主要就是通过 滑动窗口协议。对于发原创 2022-06-16 12:51:14 · 1204 阅读 · 0 评论 -
基于Kubernetes v1.24.0的集群搭建(二)
上一篇文章主要是介绍了,每台虚拟机的环境配置。接下来我们开始有关K8S的相关部署。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8VrmlM2J-1655313347223)(https://img2022.cnblogs.com/blog/533598/202206/533598-20220615145031269-642031970.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9X6dJJ8p-1655313347227)(原创 2022-06-16 01:16:51 · 117 阅读 · 0 评论 -
升讯威在线客服系统:客户收到攻击威胁勒索,我是如何保障客户安全的
本文记录了几个月前,客户在使用在线客服系统过程中,遭到勒索威胁,索要茶水费 的事件。经过应对,快速的化解了攻击威胁,并继续安全使用至今。威胁次日,收到报警,服务器 CPU 使用率持续超过 80%。连接服务器后发现 CPU 占用率 100%。查看进程,客服系统后台服务占用了 CPU,重新启动客服系统后台进程 ,CPU 占用率恢复正常。查看网络监控数据并没有大的网络流量流入流出,初步推测是对客服系统所使用的通信端口的攻击行为。更换系统所使用的监听端口后继续观察。晚间,再次收到 CPU 使用率报警,查看发现依然原创 2022-06-15 01:15:34 · 208 阅读 · 0 评论 -
2022年Web前端开发流程和学习路线(详尽版)
前端侧重于人机交互和用户体验,后端侧重于业务逻辑和大规模数据处理。理论上,面向用户的产品里,所有问题(包括产品、设计、后端、甚至看不见的问题)的表现形式,都会暴露在前端,而只有部分问题(数据问题、计算问题、安全问题等)暴露在后端,这就意味着前端起到了至关重要的承载和连接作用。前端技术的更新日新月异;前端框架的技术选型百家争鸣;视觉审美的潮流不断更替;可视化效果酷炫无比;用户的运营体系逐渐精细化;适老化、无障碍化、青少年人群的诉求浮出水面;智能设备的升级和适配无穷无尽。所有的这一切,对前端领域和前端同学就一个原创 2022-06-14 01:15:51 · 4015 阅读 · 1 评论 -
技术管理进阶——管理者可以使用哪些管理工具
前段时间有个粉丝问了一个问题:很好的问题,其实前文已经介绍了组织执行力的三要素:意愿、能力、环境,并分别提了一些建议的举措,那些举措就是我们常说的管理工具或者说管理方法论,今天进一步讨论两个问题:我们在解决实际问题或达到一个目标的过程中,会使用很多方法、策略,这些方法、策略就是方法论。所以方法论的形成有一个过程:评价一个方法论是否好用有三大指标,能做好两个就很不容易:1. 是否足够简单,复杂的事物难以传播;2. 是否足够适用,他适用的场景是否足够广;3. 有效;三个属性很难兼顾,而多数方法论喜欢追求简单原创 2022-06-13 12:47:36 · 787 阅读 · 0 评论 -
数值优化:经典一阶确定性算法及其收敛性分析
我们在上一篇博客《数值优化:算法分类及收敛性分析基础》介绍了数值优化算法的历史发展、分类及其收敛性/复杂度分析基础。本篇博客我们重点关注一阶确定性优化算法及其收敛性分析。梯度下降法[1]是最古老的一阶方法,由Cauchy在1847年提出。梯度下降法的基本思想是:最小化目标函数在当前迭代点处的一阶泰勒展开,从而近似地优化目标函数本身。具体地,对函数f:Rn→Rf:Rn→Rf:\mathbb{R}^n \rightarrow \mathbb{R},将其在第ttt轮迭代点wtwtw^t处求解下述问题:minwf原创 2022-06-12 12:50:43 · 2204 阅读 · 0 评论 -
python爬虫之JS逆向某易云音乐
Python爬虫之JS逆向采集某易云音乐网站在获取音乐的详情信息时,遇到请求参数全为加密的情况,现解解决方案整理如下:JS逆向有两种思路:本文介绍的也是第一种思路,即从目标网站中提取JS文件,然后由Python中使用execjs调用,得到我们想要的数据。第一步:获取列表数据,此条没什么限制,跳过。第二步:单条音乐播放时,网站发送了请求,在请求回调中返回了音乐文件的地址。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2z747Io8-1654967723432)(https:/原创 2022-06-12 01:16:25 · 589 阅读 · 1 评论 -
Linux查看日志文件写入速度的4种方法
有时,我们需要查看某个文件的增长速度,如日志文件,以此来感受系统的负载情况,因为一般情况下,日志写入越快,说明系统负载越重。本文就来介绍下Linux中查看日志增长速度的几种方法,如下:首先要介绍的是dd,因为dd命令几乎所有主流发行版都自带,无需额外安装,如下:如上,使用获取新写入的数据,然后用管道将数据交给dd,dd将数据拷贝到,其中是用来显示拷贝速度的,可见,我们日志的写入速度是。pv命令可以看做是带进度的cp,如下:原理与dd类似,不过命令换成了pv。由于日志数据都是程序(如java)写入的,而在原创 2022-06-11 12:47:27 · 440 阅读 · 0 评论