极客日常
文章平均质量分 52
utmhikari
talk is cheap code is rich
展开
-
【极客日常】对低代码开发模式的一些思考和想法
低代码这个名词说起来已经有些年头了,广义上来讲可以说是达到这么一种效果,即尽量减少通过编写代码的方式来完成研发任务,甚至部署交付整个技术产品。那么低代码模式到底值不值得弄,有什么优势和缺陷,本篇文章笔者就来聊一聊自己对于低代码的一些思考跟想法。原创 2024-08-17 13:33:04 · 154 阅读 · 0 评论 -
【极客日常】Go语言学习干货——从零单排Golang系列合集
在后端开发领域,Golang已经成为非常流行的编程语言之一,并且生态也非常成熟。虽然在应用规模上离Java还有一段距离,但其中很多编程技巧跟思路还是值得学习的,一是没有什么太多的coding约束,二是实际工作中也有可能用的上。在近一两年,笔者的工作也逐渐从主python转为主go语言,对于Golang也有一些简单的学习心得。借助今天这个机会,也将《从零单排Golang》系列做了精编,整合成电子书对外发布。原创 2024-08-11 15:03:00 · 622 阅读 · 0 评论 -
【极客日常】Golang一个的slice数据替换的bug排查
上周某天下班前,接到同事转来一个bug要排查,症状是代码重构之后某些业务效果不符合预期,由于代码重构人是笔者,于是blame到笔者这边。经过10min左右的排查和尝试后,解决了这个问题:既往逻辑没有改动,重构时候出笔误了。本文就记录这个bug排查的案例,供大家参考。原创 2024-07-20 23:18:36 · 445 阅读 · 0 评论 -
【极客日常】读2023美团技术年货的一些笔记
正直劳动节,翻了下2023年美团的技术年货,挑选了一些和变更风险防控和稳定性建设相关主题的文章做了下浅读。本文仅简单记一下阅读笔记。总共选读了3篇文章,分别是《基于AI+数据驱动的慢查询索引推荐》、《代码变更风险可视化系统建设与实践》,以及《AIOps在美团的探索与实践——事件管理篇》。原创 2024-05-01 00:05:12 · 251 阅读 · 0 评论 -
【极客日常】提升发布风险检查准确率的一些思路
在服务或者其它线上资源发布新版本的时候,我们都有必要为发布信息本身和上线的资源做风险检查,以确认发布内容不会对线上造成影响。但随着检查能力集合变得成熟,业务也肯定会有对检查能力优化的需求,需要提升检查的准确率,不至于出现太多无用的噪音,这也成为了风险检查提升可靠性的一项挑战。因此,本文就浅谈一下,提升发布风险检查准确率的一些思路。原创 2024-03-03 19:55:11 · 313 阅读 · 2 评论 -
【极客日常】慢查询的风险治理思路
在线上环境运维过程中,我们通常需要治理慢查询的风险。慢查询会引起DB性能问题,并且当线上环境流量较大的情况下,就会出现因大量慢查询堆积导致DB被打挂的情况。因此,本篇文章分享一下慢查询的风险治理思路。原创 2024-01-07 16:36:37 · 414 阅读 · 0 评论 -
【极客日常】初体验rust语言
作为一门“网红”语言,rust,已经在区块链、Web前端、游戏开发等领域凸显了作用。相对于golang、python、java、js跟cpp等其余主流语言,rust语言的编写和呈现方面都算是一个更为独立的体系。因此,本着对技术的好奇心,笔者也决定学习下rust语言,一是体验一下新一门编程语言的逻辑艺术,二来也是为未来可能的变化做一做准备。原创 2023-05-01 15:03:38 · 292 阅读 · 0 评论 -
【极客日常】游戏测试开发干货——Python进阶与游戏自动化测试攻略
在互联网上,关于游戏测试(开发)领域的技术分享,实际是非常稀少。为此,针对游戏测试(开发)的工作特性,笔者根据自己以前的博客整合了两个文集:《HiKari为了拿捏Python整理的技术笔记》与《HiKari的游戏自动化测试笔记》原创 2022-11-24 20:16:34 · 2126 阅读 · 0 评论 -
【极客日常】vue3中实现Array数组更新的方法
本文解决下纠结vue3如何实现array类型的数据更新这个问题原创 2022-06-17 21:07:09 · 9305 阅读 · 1 评论 -
【极客日常】通过motrix启动逻辑初探electron的项目结构
本文以开源下载软件motrix启动逻辑为入口,来研究electron应用是如何打开的,以及electron应用内部的基础运行机制。原创 2022-06-05 12:46:14 · 1217 阅读 · 0 评论 -
【极客日常】一种解决redis源码编译时jemalloc报No such file or directory错误的方法
在用源码编译redis的过程中,可能会报jemalloc出错,提示No such file or directory的问题,导致构建不能继续。一种常见的,在网上流传的方法是调整MALLOC参数为libc,但这并不是唯一解,不能一概而论。以笔者的例子,笔者采用windows装CLion并用Remote Development连接linux虚拟机的方式来编译redis源码,版本为6.2.6,在构建的过程中也报了jemalloc出No such file or directory的问题。在笔者的场景下,仔细查看原创 2021-10-19 23:35:49 · 708 阅读 · 0 评论 -
【极客日常】理解javascript/python中reduce操作的含义
在学习javascript和python的过程中,我们通常会接触到map、filter、reduce之类的一等公民高阶函数。理解map和filter是相对简单的事情,但理解reduce的话还是需要一番推敲。正值十一假期,今天这篇文章就好好讲讲reduce这个东西我们首先以python为例,看一段reduce程序的操作:from functools import reducefrom dataclasses import dataclass@dataclassclass Stats:原创 2021-10-01 12:59:18 · 170 阅读 · 0 评论 -
【极客日常】在Vue用echarts画带不同颜色点的散点图
在vue技术栈下做图表需求,echarts是一个非常棒的选择,提供了非常多种多样的图标示例以及非常复杂强大的API。由于笔者近期工作内容中需要分析采样点的分布情况,因此自然而然接触到了echarts的3D散点图。在笔者的需求中,需要对不同点进行分类,并按特定的颜色显示出来。经过一番踩坑,了解到了echarts在实现这方面的机制。echarts绘图/刷新只需要通过setOption接口即可实现。在各种options中,visualMap视觉映射组件能够根据数据在特定维度上的值,指定对应点的视觉属性(比如颜色原创 2021-09-16 23:29:15 · 2259 阅读 · 0 评论 -
【极客日常】2021新版本VSCode设置git-bash为终端的方法
截至2021.9,不知道哪天更新了vscode,发现默认的终端从以前的git-bash变成了powershell,笔者用的windows电脑,于是乎要解决这个问题,把powershell变回git-bash。打开settings,发现以前的terminal.integrated.shell.windows设置已经失效,不能再用。在settings的图形界面查看shell设置,默认的选项变成了PowerShell、Command Prompt和Javascript Debug Terminal,不能直接指定原创 2021-09-11 11:52:19 · 1253 阅读 · 0 评论 -
【极客日常】Go语言string、int、float、rune、byte等数据类型的转换方法
golang的数据类型转换是困惑新gopher的一大问题之一。相对于python,golang的数据类型转换可要麻烦的多,而且还不走寻常路地诞生了些新的方法跟名词。因此本文讲解golang常见数据类型string、int、rune等数据类型相互之间的转换方法,给大伙儿避坑。在讲述方法之前,首先非常有必要讲下go源码对这些数据类型的表述:// string is the set of all strings of 8-bit bytes, conventionally but not// necess原创 2021-06-06 21:31:44 · 2181 阅读 · 0 评论 -
【极客日常】用vxe-table展示excel-diff的结果
excel-differ是游戏测试常用的测试工具。在有些业务场景下,excel-diff的结果可能需要通过web展示。Vue技术栈下的vxe-table表格组件能够支持大量数据的展示,因此可以用vxe-table展示excel-diff的结果。excel-diff的算法本身,先前的文章已有讲解,在结果展示上会按file->sheet来分。为了让结果展示更加人性化,需要对表格的样式进行区分。在vxe-table的api列表中,我们可以通过cell-class-name的回调函数指定每个单元格的样式。针原创 2021-05-01 16:52:41 · 1844 阅读 · 0 评论 -
【极客日常】UE4插件通过C++导出LLM数据的方法
近期为了丰富UE4插件UnrealAutomator的基础功能,在ProfileService中增加了LLM数据获取的方法。LLM拥有抓取UE4底层模块内存使用情况的功能,各种Modules按照LLM的规范实现相应宏即可将内存使用数据实时更新到LLM系统中。如果从产品外部,是难以直接访问这些信息的。以UE4.24为例,用C++在UE4插件实现LLM数据获取的方式如下:/** * See HAL/LowLevelMemTracker.h * If detailed info is needed, a原创 2020-11-08 19:55:40 · 580 阅读 · 0 评论 -
【极客日常】解决UE4中FJsonObject转USTRUCT的坑
前些天在写UnrealAutomator的Web解析模块的时候,遇到了一些USTRUCT方面的问题,由于笔者以前并非UE4程序员,因此踩了一些坑,果断分享一下踩坑历程。首先聊一下USTRUCT的生成。USTRUCT是UE4的特性之一,从非C++/UE4程序员的角度来讲,USTRUCT、UPROPERTY、GENERATED_BODY之类的概念类似于注释和装饰器的作用,可以在编译等时期将代码标识的内涵纳入自己的Runtime。举一个例子,UnrealAutomator中的UIModel.h:#pragm原创 2020-10-18 22:07:03 · 3672 阅读 · 0 评论 -
【极客日常】Win10更改IDEA(Jetbrains全家桶)的插件和配置路径
Jetbrains家的IDE,默认安装之后,配置和插件都存储在系统特定的文件夹中,如果是Windows系统的话,就会在用户文件夹存储。这样就滋生了一个问题:随着插件等安装的越来越多,系统盘也会占掉一些空间,这个时候就有了转移默认插件与配置路径的需求。今天就以IDEA为例讲述一下如何操作。首先了解下默认存储的位置。Win10的话,IDEA可能在这里:C:\Users\用户名\AppData\Roaming\JetBrains。如果是AndroidStudio,则可能在这里:C:\Users\用户名\.An原创 2020-10-06 22:56:32 · 1674 阅读 · 0 评论 -
【极客日常】在UE4插件中编写一个HTTP Web Server
在某些游戏研发or测试的需求中,需要在Unreal增加一个插件或者模块,里面启动一个服务器作为SDK,然后外部通过直连或者adb forward可以连接到客户端中,获取客户端实时的场景、actor信息等等。UE4本身除了socket server支持之外,也支持简单的HTTP Web Server。由于网上没有比较好的范例,因此这里给出一个例子。本文以Unreal 4.24为例。搭建HTTP Server,需要在.Build.cs中引入如下模块:PrivateDependencyModuleNames.原创 2020-05-23 13:35:54 · 4030 阅读 · 9 评论 -
【极客日常】在hugo博客中利用shortcode嵌入bilibili视频
hugo是当前热门的个人博客框架之一,和hexo同样是markdown文件跟博客帖子一一对应。有些同学想利用hugo制作个人视频博客,但发现在hugo博客中不支持直接在markdown里输入iframe标签,从而没有办法将其它网站的视频(比如b站)嵌进来。这种情况下,我们可以采用hugo内置的shortcode机制完成这个需求。我们参考的文章是create your own shortcodes...原创 2020-04-21 16:10:03 · 1666 阅读 · 1 评论 -
【极客日常】再度上手start-fastapi
近期项目组准备做一个新的工具,因此自个儿做的start-fastapi框架正好能派上用场试试水。在起草需求搭建最初框架的时候也逐步发现原先的start-fastapi有一些不足的地方,因此做了一些针对性的优化。首先必须重新介绍一下start-fastapi,其本身是轻量级web框架fastapi的延伸,但是由于fastapi给的例子过于简单,因此就基于此做了一个简单的web后端脚手架,借鉴了eg...原创 2020-02-26 22:19:03 · 1165 阅读 · 2 评论 -
【极客日常】写一个基于vuetify的v-autocomplete的自定义组件
Vuetify是Vue的一套前端组件框架,基于Material Design设计,界面较为整洁。最近由于项目需要开始入手,但在写自定义v-autocomplete组件的时候却踩了许多坑。因此本文果断记录一下踩坑的过程。首先新上手vue的话肯定耳边都会萦绕着“双向绑定”一词,用的最多的属性就是v-model了。但是我们参考官方文档可以发现v-model只是语法糖,除了绑定默认组件的值(比如sele...原创 2020-02-16 15:10:22 · 1508 阅读 · 0 评论 -
【极客日常】解决使用mongodb时同时update多条数据的问题
在实际使用mongodb的场景中,我们经常遇到多个请求同时在某个collection里update多条document的需求。这个需求看似有许多种解法,但是具体哪种好也说不准。现在便让我们一探究竟吧~首先我们利用pymongo添加1000000条数据,name字段为hello:from pymongo import MongoClientclient = MongoClient()db ...原创 2020-01-12 15:43:35 · 5837 阅读 · 0 评论 -
【极客日常】electron+react+antd深色主题打造桌面应用
桌面应用的实现方式有很多,但谈到多操作系统平台兼容的话,就不得不提到electron。electron是前端开发的利好,做过web前端的同学只要稍微迁移下自己的项目,就能够将原本的web前端变成桌面应用。因此,本文以react为例,以antd为UI库支持,讲解基于react的electron应用该如何搭建。首先,electron-react-boilerplate项目,就帮助我们初始化了基于r...原创 2019-10-20 20:36:02 · 3467 阅读 · 3 评论 -
【极客日常】hexo+NexT博客自定义代码高亮主题配色CSS
用hexo+NexT搭建博客的同学或许会遇到一个问题:默认的代码配色只有Tomorrow Theme五种,如果想要自己的代码配色,应当如何自定义呢?其实也是可以的。在NexT的source/css/highlight/theme.styl中,我们就可以看到几种主题的具体配色:$highlight_theme = hexo-config("highlight_theme")if $highl...原创 2019-10-07 11:15:41 · 2382 阅读 · 0 评论 -
【极客日常】解决国内go1.13的go mod无法安装依赖的问题
在从零单排Golang第一话中讲到了Golang的基础开发环境配置,其中讲到了Go的依赖管理方面,提及了以后的趋势会采用官方的go mod进行管理。关于这一块,现在有了更加简单的方法。最新的Go1.13中已经将go mod列为默认的包管理方法,但国内用户go mod vendor时还是有可能会出错,这是因为在go get时会检查哈希值,需要访问官方的sumdb。由于众所周知的不可抗因素,sumd...原创 2019-10-07 01:53:35 · 4163 阅读 · 2 评论