自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HiKariのTechLab

知晓概念的联系,才是研发最强之道。

  • 博客(160)
  • 资源 (9)
  • 收藏
  • 关注

原创 【极客日常】游戏测试开发干货——Python进阶与游戏自动化测试攻略

在互联网上,关于游戏测试(开发)领域的技术分享,实际是非常稀少。为此,针对游戏测试(开发)的工作特性,笔者根据自己以前的博客整合了两个文集:《HiKari为了拿捏Python整理的技术笔记》与《HiKari的游戏自动化测试笔记》

2022-11-24 20:16:34 1911

原创 【Hard Python】前言&目录

Hard Python,深度分析python语言特性与功能模块

2022-01-08 14:23:02 590 1

原创 【Medium Python】前言&目录

python作为最流行的语言之一,我们对python的认知到底有多少呢?大胆猜测,95%的同学对python的了解都不超过5%吧!不用说python的c源码了,就算是python每个标准库的.py源码,都有很少人去关心。结论就是,我们对python本身的理解是远远不够的,比想象中还不够!当然,这也可能是python的语言特性导致的吧,在设计方面就不需要我们去多想。python的岗位众多,网上的教材跟面试题也很多,然而很多都是八股文,浅尝辄止,鲜有深度的挖掘,让人知其然而不知其所以然,处处透露着对技术的不敬

2021-10-10 20:54:39 449

原创 【从零单排Golang】第十六话:channel的用法和基本原则

在基于Golang的后端开发中,channel是一个必须要掌握的并发编程概念。和python的queue一样,channel在不同的goroutine里承担着传递信息的作用,使得业务逻辑的状态上下文可以在不同的goroutine中共享。今天,我们就来看一下channel的用法还有一些使用上的基本原则。

2024-04-13 19:26:46 1001 1

原创 【架构艺术】变更元信息分析框架设计

在变更风险防控领域,对于线上变更元信息的分析是非常重要的一部分,我们需要一个独立的变更元信息分析框架,把所有的变更元信息分析过程和结果都归到一个独立的系统当中。这样,从变更风险防御能力的视角,变更分析的结果都是共享的、全局的、一致的,从而能最大限度提升变更风险防御能力可挖掘的潜力。本文,就简单聊一下,变更元信息分析框架设计的一些重点。

2024-04-04 14:24:32 565 1

原创 【极客日常】提升发布风险检查准确率的一些思路

在服务或者其它线上资源发布新版本的时候,我们都有必要为发布信息本身和上线的资源做风险检查,以确认发布内容不会对线上造成影响。但随着检查能力集合变得成熟,业务也肯定会有对检查能力优化的需求,需要提升检查的准确率,不至于出现太多无用的噪音,这也成为了风险检查提升可靠性的一项挑战。因此,本文就浅谈一下,提升发布风险检查准确率的一些思路。

2024-03-03 19:55:11 248 2

原创 【架构艺术】可持续性架构设计的秘诀

概念拆解,重组改造,是可持续性架构设计的秘诀。其核心要思考的便是,如何在自顶向下的需求拆解和自底向上的技术实现之间,不断优化这个“最大公约数”。为了让技术实现能够更具备可持续性,我们才需要把所有概念打碎,理顺概念之间的依赖和层次关系,再根据灵活组合不同的概念体系,以达到不同需求预期的效果。这样做技术设计,就可以应对频繁的需求变更,不至于积重难返。

2024-02-15 14:30:17 452

原创 【GitHub探索】蚂蚁变更管控平台AlterShield设计分析

变更管控是技术风险地一个子领域,主要的目标是在变更过程中,通过对变更流程的管控介入,提前发现变更过程存在的事故风险,或者阻止变更过程的错误进一步扩大影响面。在这个子领域,蚂蚁开源了AlterShield变更管控平台,提供了一套变更风险防御的解决方案。今天,本文就浅析下AlterShield平台整体的设计,适用的场景以及局限性。

2024-02-04 15:08:41 1017

原创 【极客日常】慢查询的风险治理思路

在线上环境运维过程中,我们通常需要治理慢查询的风险。慢查询会引起DB性能问题,并且当线上环境流量较大的情况下,就会出现因大量慢查询堆积导致DB被打挂的情况。因此,本篇文章分享一下慢查询的风险治理思路。

2024-01-07 16:36:37 378

原创 【测试人生】数据同步和迁移的变更注意事项

数据同步或者迁移操作也算是线上数据变更的一种类型。由于涉及的数据量非常大,一旦发生故障,会直接影响线上业务,并且较难止损。从变更风险管控的角度考虑,数据同步或迁移操作也需要走合理的发布窗口,并且在操作前也需要做足够的影响分析。本文就来聊一下数据同步和迁移的变更期间注意事项。

2023-12-09 22:34:52 394

原创 【架构艺术】一些通用的代码优化治理经验

在接手以前的项目做开发的过程中,我们经常会遇到因为既有代码理解困难,导致代码难以删改,问题难以排查的情况。一份富含技术债的代码,不论对于当下的问题解决,还是未来的需求开发,都会形成累赘。因此,本文就分享一些通用的代码优化和治理经验。

2023-11-04 19:05:43 236

原创 【测试人生】游戏业务测试落地精准测试专项的一些思路

精准测试在互联网领域有广泛的应用。以变更为出发点,通过对变更内容进行分析,可以确定单次变更具体涉及到哪些模块和功能点,以及是否存在夹带风险,从而从QA的视角,可以知道哪些功能模块需要做测试,以及哪些变更内容不符合预期。相比于互联网QA,游戏QA接入业务项目研发过程并没有那么深入,比如项目代码权限基本上游戏QA不会拥有,但即便如此,要在游戏测试领域应用精准测试专项技术,还是有一定思路可循。因此,本篇文章,笔者以自身经验为出发点,讲述一下在游戏业务测试落地精准测试专项的一些思路。

2023-10-02 12:00:26 371

原创 【DIY小记】修复Win10启动出现蓝屏0xc0000185错误的一些方法

近些日子想到自己尘封已久的笔记本电脑没有开机了,很多软件驱动之类的没有更新,就打算把电脑开起来做一轮批量升级。但开电脑的时候很久没有进入Win10桌面,等了很长一段时间蓝屏提示0xc0000185错误,说系统需要恢复。经历了一番折腾之后,笔者解决了这个问题。虽然不明确这个问题的根因在哪里,但还是分享一下自己收集到的一些解决方式。

2023-09-17 15:46:11 4881

原创 【测试人生】浅谈游戏策划配置表检查的技术设计

关于游戏策划的配置表检查测试,笔者也希望输出一些自己对于配置表检查测试技术的一些思考。本篇文章讲述两块内容,第一块讲下测试框架的开源,第二块讲下专项技术的设计。

2023-09-17 15:20:36 429

原创 【从零单排Golang】第十五话:用sync.Once实现懒加载的用法和坑点

在使用Golang做后端开发的工程中,我们通常需要声明一些一些配置类或服务单例等在业务逻辑层面较为底层的实例。为了节省内存或是冷启动开销,我们通常采用lazy-load懒加载的方式去初始化这些实例。在Golang里面,实现懒加载的方式可以简单的多,用内置的sync.Once就能满足。本文就介绍使用sync.Once的用法和坑点

2023-09-03 01:23:56 668

原创 【从零单排Golang】第十四话:使用rate和ratelimit实现限流限速

在研发中,我们经常会面对到处理并发逻辑的场景,尤其是有时候在与第三方平台对接的场景下,会遇到请求限流限QPS的要求。对于限流或者限速,我们通常会用令牌桶算法和漏桶算法来满足需要。这两种算法,虽然实际QPS数值可能都会有波动,但都能把速率限制在一个合理的水位。在Golang里面,这两种算法都有现成的实现可以直接用。咱们今天,就来看看这块的例子。

2023-08-26 15:57:48 635

原创 【从零单排Golang】第十三话:使用WaitGroup等待多路并行的异步任务

在后端开发当中,经常会遇到这样的场景:请求给了批量的输入,对于每一个输入,我们都要给外部发请求等待返回,然后才能继续其它自己的业务逻辑。在这样的case下,如果每一个输入串行处理的话,那么很大一部分时间都会损耗在给外部发请求这个环节,因此我们会希望把这些请求放到各个goroutine里异步执行,等待批量执行完成之后再继续后面的逻辑。这个时候,我们就可以用到这个东西:sync.WaitGroup

2023-08-06 21:03:17 645

原创 【测试人生】批量刷数的发布流程与风险点

在项目日常开发过程中,批量刷数也是有一定频率的变更场景之一,同时也是容易产生风险的一种变更操作。本文就来聊下,批量刷数的发布需要经历哪些流程,以及流程中每个环节中有什么风险点需要考虑。

2023-07-09 11:18:37 409

原创 【测试人生】SQL变更的问题拦截手段

在DB做变更发布的各类场景当中,通过SQL更改DB数据内容,是最为常见的场景。既然是最为常见的场景,那么可能产生线上问题的概率也就越大。本篇文章就来探讨一下,要尽量减少SQL发布产生线上问题的可能性,需要采取什么样的手段。

2023-07-08 14:06:12 930

原创 【从零单排Golang】第十二话:用singleflight解决单服务处理高并发任务的问题

在后端开发场景,我们经常会遇到高并发的事务处理逻辑。虽然在微服务治理的机制下,能够实现多个无状态服务节点+负载均衡高并发处理请求,但对于单个服务节点来讲,如果存在某些耗时的任务需要被高并发访问,那么如果没有一套妥善的机制处理,就很容易出现大量这类任务实例堆积,导致任务返回延迟,或者节点内存暴涨的情况。今天,就来介绍Golang内部处理这种场景的一套方案:singleflight。

2023-07-01 20:52:17 678 2

原创 【DIY小记】工作中失误了,应该如何对待?

怎么样对待工作的失误,甚至是工作本身,不论是从心态上,还是从策略(抓手)上,都是值得去深入讨论的。工作失误无法彻底避免。如果你对你的工作内容很有责任感,那么如果真的失误了,就不要沉浸在失误的沮丧里,得去解决工作失误,才是真正对的起你的责任感。所以,坦然面对吧!

2023-06-11 01:20:19 486

原创 【GitHub探索】用python写web前端之reactpy探索

你有想象过用python来写web前端这种操作么?本文就来探索reactpy,用python通过react的特性来编写前端页面,看能写出什么花样来。

2023-06-10 11:34:20 1533

原创 【测试人生】管控数据类变更的重要性

数据类变更的缺陷/事故影响面是很高的,变更的时间也很长。这意味着,变更量大,变更期间风险难以控制,出了问题也难以回滚。本文主要介绍DevOps场景下数据类变更管控的重要性。

2023-06-03 17:08:35 188

原创 【从零单排Golang】第十一话:make和new的区别和用法

在Golang当中,对于常用数据结构的初始化方式,通常有2种:make跟new。这两种初始化方法用途不同,效果不同。本篇文章就来详细讲一下make和new具体都怎么用,在什么场景下会用上。

2023-05-10 23:53:50 484 1

原创 【极客日常】初体验rust语言

作为一门“网红”语言,rust,已经在区块链、Web前端、游戏开发等领域凸显了作用。相对于golang、python、java、js跟cpp等其余主流语言,rust语言的编写和呈现方面都算是一个更为独立的体系。因此,本着对技术的好奇心,笔者也决定学习下rust语言,一是体验一下新一门编程语言的逻辑艺术,二来也是为未来可能的变化做一做准备。

2023-05-01 15:03:38 132

原创 【极客日常】聊聊ChatGPT对于八股文程序员的冲击

2023年ChatGPT系列的问世,可谓是对整个世界的人类造成了冲击。很多程序员同行开始恐慌,自己的工作是否会被这类AI所替代,笔者的答案是——不应该会。比起恐慌AI的冲击,把自己当成一个AI,100%专注于自己的持续成长,这样做不是更好吗?

2023-05-01 01:42:17 173

原创 【测试人生】《阿里测试之道》笔记之大促全链路压测

在2022年,阿里出品了一本《阿里测试之道》,讲述在阿里电商、物流、金融、大数据等业务场景下,测试活动业务层面是如何开展,以及技术层面是如何实现的。笔者有幸拜读此书,从其中也有所收获。本次以其中涉及电商的测试场景为例,记录一下“大促质量保障”一章的读书笔记。这一章主要讲述了在大促场景下,全链路压测是如何实施的,以及通过什么方式保证最终大促时的生产环境稳定性。

2023-04-08 22:41:35 595

原创 【从零单排Golang】第十话:快速理解并上手context的基础用法

在Golang的各种用法当中,context可谓是最能够体现Golang语言特性的模块之一。关于context网上有很多语法以及源码分析的文档,但是里面很多却不能从实战场景体现context的作用,导致这个概念难以理解。因此这一回,经由踩坑context后,笔者将结合自己的理解,给大家讲述context在Golang怎么用来最为方便,怎么理解最为实用。

2023-04-01 17:16:10 634

原创 【Python随笔】一天搞定,爬虫爬取w3schools的sql语句案例集

本文就来详细讲述,爬取w3schools网站里SQL语句的实现方式,以及里面需要注意的一些点。通过Python+BeautifulSoup,一天可以搞定!

2023-03-11 17:22:18 626

原创 【从零单排Golang】第九话:用go语言解析并分析sql语句的方法

在Golang的实战中,总会遇到一些场景,比如抓包分析sql指纹,或者是输入sql时检查sql的风险,这类操作都需要解析sql的工具才能够生效。今天,就来介绍一些Golang当中解析sql的工具包和使用方法,主要是tidbparser

2023-03-04 00:25:29 1908

原创 【从零单排Golang】第八话:通过cache缓存模块示范interface该怎么用

Golang的interface接口特性,能够实现提供&使用之间关系的解耦,使得代码行文更加规范立体。本文就来通过一个简单的缓存cache模块的实现,来示范一下Golang的interface该怎么用。

2023-02-18 15:40:40 1070

原创 【DIY小记】VMWare设置主机连接到的Ubuntu虚拟机的网络端口

本文介绍一种主机直连虚拟机内部的解决方法,场景为Win11 + VMWare Workstation 16 + Ubuntu 22.04 + NAT模式网络

2023-02-05 13:14:11 2761

原创 【测试人生】准入准出质量红线的技术设计

在应用日常开发的过程中,不论是在测试、开发联调,还是实际构建发布的时候,我们都需要一定的指标去衡量技术产物的质量,从而判断技术产物是否符合质量标准,是否能够继续发布投产,如果不符合投产标准则拦截发布。这类能力,通常称之为准入准出质量红线能力,其开发者通常是DevOps中台。中台提供原子能力以及配置化的能力,用户可以根据自己的业务去配置相应的指标产出与拦截规则,也可以直接套用特定的模板来快速实现准入准出的效果。本文就来讨论,这类能力要开发出来,在技术实现上,需要做怎样的考虑跟设计。

2023-01-26 14:42:23 1243

原创 【从零单排Golang】第七话:反射模块reflect使用方式探索

Golang的反射功能,在很多场景都会用到,最基础的莫过于rpc、orm跟json的编解码,更复杂的可能会到做另外一门语言的虚拟机。通过反射模块,我们可以在编程语言的runtime运行时期间去访问内部产生对象的信息。了解反射模块的实现,对我们了解Golang对象机制本身,也是莫大的帮助。今天,恰逢阳康+新年,就决定来探究一下Golang的反射模块——reflect。

2023-01-01 02:30:08 746 3

原创 【代码艺廊】daggre:数据聚合与联表检查工具

今天的主题是配置数据处理服务方面的内容,笔者采纳通过配置化方式声明数据处理过程的设计,编写了一个数据聚合工具daggre,全称为DAta-AGGREgator,专门用于处理数据的联表视图、过滤检查相关的需求。本文主要讲述工具的设计和应用场景。

2022-12-10 19:58:46 646

原创 【从零单排Golang】第六话:基于wire的kratos微服务框架示例项目

本文介绍一款b站开源的名为奎爷kratos的微服务框架,以及讲述一下基础的使用机理和框架结构,以及wire生成框架代码的机制。

2022-12-03 15:05:49 1122

原创 【测试人生】UE4大世界游戏寻路效果自动化测试

在一些大世界的游戏当中,我们通常能够体验到游戏的自动寻路功能,在测试寻路功能时,不仅需要检查寻路是否成功到达,而且也需要关注寻路路径呈现的效果,从而确定玩家是否走在策划预想的路径上。但是,由于寻路起点重点选择随机性较高,遍历数量大,在验收寻路效果时,手工测试效率会非常低下。因此,笔者结合自己实际工作经验,分享一种在UE4大世界游戏中,寻路效果自动化测试的方案。

2022-11-20 12:49:03 1697

原创 【Game Of AutoTest】5、游戏自动化测试的价值

《Game Of AutoTest》的最后一篇文章,聊一下游戏自动化测试的价值。做好自动化测试的价值分析,不仅能够自动化测试技术落地做足理论基础,而且也能在任意时候指引自动化技术落地者做好当下的决策,从而逐渐把自动化测试做出更大的规模跟成果。

2022-11-02 21:13:14 868

原创 【DIY小记】Ubuntu22.04去掉侧边菜单栏Floppy Disk图标的方法

分享一种去掉ubuntu22.04侧边菜单栏Floppy Disk软驱图标的方法

2022-10-15 12:28:44 1687

原创 【GitHub探索】ebook-boilerplate——批量转markdown为PDF和电子书

正值十一假期,近期准备把自己的python笔记精编整理,做一个pdf电子书。在调研如何把多个markdown文档转化为单个pdf的时候,试了很多种方法。最后找到了最佳方案,也就是本文的主角,由phodal前辈整理的电子书生成项目ebook-boilerplate。

2022-10-05 16:19:14 677

HiKari的游戏自动化测试笔记

自动化测试本身已经不是一个新鲜的名词,不论是游戏还是传统互联网行业,我们都能够见到自动化测试落地的身影。但是,尤其在游戏测试领域,自动化测试到底需要做成怎样的形式,需要覆盖哪些业务场景,能够带来什么样的价值,这些话题其实讨论的并不深入,相关的沉淀更是少之又少,可以算是一片待开垦的荒地。因此,笔者HiKari决定编撰《HiKari 的游戏自动化测试笔记》这一系列,以UE4+Python的技术栈为主要背景,分享自己近年来做游戏自动化测试的技术经验和业务思考,并为各位做游戏测试行业的同学,尤其是做游戏自动化测试的同学,提供一些自己提炼的思路跟想法。

2022-11-24

Python进阶必备——HiKari为了拿捏Python整理的技术笔记

Python进阶必备! 本技术笔记从python基础库与cpython的源码分析切入,详细剖析python常用模块和语法特性的背后机理。 目标人群为有一定python研发经验的同学。如果你是python初学者,建议巩固基础,觉得自己对python有一定的掌控能力后,再来阅读这个系列。希望各位读者能够通过这个系列,对python语言有全新的理解!

2022-10-05

o2mania 1.4.2 英文版

o2mania 1.4.2 英文版,官网资源copy,国内不知道官网下载页面广告怎么点的或者下载比较慢的都可以下这个

2022-07-29

premake5.exe

premake5.0.0-alpha16的exe文件

2021-08-07

Go教程小本本——从零单排Golang精编版.pdf

自己的Go语言小轮子实践记录与教程文档~~~ 不会Golang的程序员会怎么去学一门新语言呢?来看看吧~~~

2019-12-28

Alphago Zero 自我对弈50盘

经典的2018年的Alphago Zero自我对弈50盘,格式为sgf,需要下载MultiGo之类的棋谱查看软件打开

2019-10-16

minikube v1.4.0国内镜像Win版(k8s v1.16+)

由阿里云提供,从阿里云registry拖取k8s镜像,免去了国内科学上网带来的不便。需要在Windows 64位系统下运行。

2019-10-09

右键菜单powershell.inf

双击安装,卸载在控制面板应用里卸载即可。如果有残留,请删除HKEY_CLASSES_ROOT\Directory\Shell\PowerShellHere以及HKEY_CLASSES_ROOT\Drive\Shell\PowerShellHere两项

2019-10-09

实用Python教程——Easy Python精编版.pdf

自己原创的Python教程,求捧场啦~ 作者:utmhikari 博客原文:https://utmhikari.github.io/categories/Easy-Python/ 语雀:https://www.yuque.com/hikari-zy5c0/easy-python 源代码:https://github.com/utmhikari/Easy_Python

2019-10-08

Unlocker3.0 VMWare解锁黑苹果

Unlocker3.0,可支持VMWare 15黑苹果 15以下版本未测试,理论上向下兼容 试试看吧~~~~~~~~~~~~~~~

2018-10-10

Lua5.3.4(Windows x64)

官网的Windows64位版Lua5.3.4 包含头文件、dll、liblua.a以及lua、luac、wlua的exe 自己顺带把三个exe的名字上的53全部去掉了,如果依赖或者运行出错需要重新调一下

2018-10-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除