BLCL的博客小馆

归档 · 全部

首页

关于

归档

loading..
词法分析语法分析编译原理编译器

ANTLR4从入门到实践

ANTLR(ANother Tool for Language Recognition)是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文档。它被广泛用于构建语言、工具和框架。ANTLR根据语法定义生成解析器,解析器可以构建和遍历解析树。安装以Linux系统为例,我们首先安装Java17~ java -versionjava version "17.0.6" 2023-01-17 LTSJava(TM) SE Runtime Environment (build 17.0.6+9-LTS-190)Java HotSpot(TM) 64-Bit Server VM (build 17.0.6+9-LTS-190, mixed mode, sharing)随后我们下载antlr4的完整依..

更多
算法

生成式模型相关记录

最近在做生成式模型的一些工作,至今算是能有些总结的了,趁着还有些能记住的地方,赶紧记录下来,后面想到了再补充。 前期调研1. 相关工作目前我们在做的算是业界独创的,搜了一圈,没有相关的工作,所以我把PaddleNLP中generation相关的任务给看了一遍,比如question_generation,用T5预训练模型或unimo-text项目,machine_translation中的transformer部分,对于大致的实现思路以及各自在解码时采用的策略都作了些了解,所以整理实现起来并不复杂。 2. 预训练模型选择这里反而是比较头疼和纠结的地方,从类型选择上有两大类:decoder和encoder-decoder。对于这部分在huggingface course上是怎么解释或者区分的呢,如果你用于文本..

更多
loading..
stdin

为啥Linux下病毒比较少

最近下载了一个Linux的病毒,把它解包了。 尝试用root身份运行,发现啥也没有。 Google了俩小时,发现这病毒没解包到 /usr/local/bin 而是解压到了 malware 用户没有写入权限的 /usr/bin,于是病毒创建不了进程文件。 从某个中文论坛里找到了修改过的 .configure 和 .make 文件,重新编译重新运行了一下。 病毒说它需要 cmalw-lib-2.0,结果发现这玩意是 CentOS 里的,Ubuntu 里没有。Google 了好几个小时找到了从源码构建 .deb 包的方法。 这病毒总算开始跑了,然后打出来几行日志,吐了个 core dump 就 crash 了。翻了一个小时日志发现这病毒假定自己跑在 ext4 文件系统上然后调用了 ext4 的加密 API。..

更多
loading..
Python爬虫Scrapyscrapy_redis

一日一技:Scrapy最新版不兼容scrapy_redis的问题

有不少同学在写爬虫时,会使用Scrapy + scrapy_redis实现分布式爬虫。不过scrapy_redis最近几年更新已经越来越少,有一种廉颇老矣的感觉。Scrapy的很多更新,scrapy_redis已经跟不上了。大家在安装Scrapy时,如果没有指定具体的版本,那么就会默认安装最新版。这两天如果有同学安装了最新版的Scrapy和scrapy_redis,运行以后就会出现下面的报错:1TypeError: crawl() got an unexpected keyword argument 'spider'如下图所示:遇到这种情况,解决方法非常简单,不要安装Scrapy最新版就可以了。在使用pip安装时,绑定Scrapy版本:1python3 -m pip install scrapy==2.9..

更多
loading..
bmacamd

蓝宝石 RX580 2048sp 刷 vbios 降级 RX570 记录

刷机有风险, 后果自行承担因为这个卡黑苹果支持有问题, 所以需要降级为 RX570, 才能正常黑苹果. 要不然显存只有几兆或者十几兆之所以选择刷 RX570 的 vBios, 是因为 RX580 2048sp 是 RX570 的马甲检查当前型号和显存编号备份 vBios点击 BIOS Version 旁边的 箭头即可导出查找 vBios打开Google,为了方便,直接输入以下信息检索1“RX 570” “Sapphire” K4G80325FC +site:techpowerup.comhttps://www.techpowerup.com/vgabios/235048/sapphire-rx570-8192-191031寻找适合自己的 vBIOS,查看 vBIOS 的信息,确保显存大小和显存颗粒跟你显卡..

更多
loading..
Python

一日一技:如何对Python代码进行混淆

目前市面上没有任何方法能够完全避免你的程序被人反编译。即便是3A游戏大作,发布出来没多久也会被人破解。现在只能做到增大反编译的难度,让程序相对无法那么快被破解。我们知道,Python代码默认是公开的。当你要把一个Python项目给别人运行的时候,一般来说别人就能看到你的全部源代码。我们可以使用Cython、Nuitka对代码进行打包,编译成.so文件、.dll文件或者是可执行文件,从而在一定程度上避免别人看到你的源代码。我在字节的时候,内部的一个系统就是使用Cython打包的,然后部署到客户的服务器上。Cython、Nuitka在打包大型项目时,需要写大量的配置文件甚至是额外的程序,有一定的使用成本。如果你对安全的要求并没有那么高,那么其实你只需要对Python代码进行混淆,就能防止自己的代码被人轻易看到..

更多
loading..
TechConfigurationServerHomeLabPVENAS

HomeLab | 3 下载观影一条龙:NASTool/JellyFin/qBittorrent 半自动化家庭影院搭建指北

请注意!!! 本系列的文章是断断续续写的,本文最早写于 2022 年 12 月,可能有些信息已经过时! 别问,问就是写了一半然后放草稿箱里长草了。 请知悉,NASTool 官方已经不再维护了,但是现有版本的大部分功能还是能用的,希望本文对你还是有意义的喵! 0x00 引言 HomeLab 系列回顾: HomeLab | 1 Proxmox Virtual Environment(PVE) 安装及配置 HomeLab | 2 OpenMediaVault 安装 & 硬盘直通 & 相关配置 在数字时代,随着流媒体服务的兴起,我们的娱乐方式正发生翻天覆地的变化。想象一下,既然已经有 HomeLab 了,如果你能够在此基础上拥有一个私人定制的家庭影院,不仅能够自动下载你最喜爱的电影和电视剧..

更多

Mac 下快速查找/删除命中关键词的 Maven 依赖

仅限于 MacOS, linux 下面路径不太一样, 自行调整 shell 函数添加到 ~/.zshrc 或者 ~/.bashrc 即可1234567891011121314151617181920findJars() { jar_name=$1 rmJar=$2 set -x if [[ -z $jar_name ]]; then echo "Usage: $0 jar_name rm" set +x exit 0 else array=("$HOME/.m2/repository" "$HOME/.ivy2/cache" "$HOME/Library/Caches/Coursier") for i in ${array[@]}; do if [[ -..

更多
hadoop

Hadoop手动切换Namenode

NN 名称定义于 hdfs-site.xml 中1grep dfs.ha.namenodes.hdcluster ${HADOOP}/etc/hadoop/hdfs-site.xml查询 NN 节点1hdfs getconf -namenodes查询 NN 状态12hdfs haadmin -getServiceState namenode1hdfs haadmin -getServiceState namenode2手动切换1hdfs haadmin -failover -forcefence -forceactive namenode2 namenode1or1hdfs haadmin -transitionToActive namenode2HA 集群手动切换存在脑裂的可能性, 推荐在目前 Acti..

更多

GitHub 身份验证

GitHub基于账号用户名和密码的身份验证已被删除,常用的clone 方法有以下两种通过访问令牌 首先在https://github.com/settings/tokens生成访问令牌,然后当Git提示您输入密码时,输入该令牌即可。访问令牌较长,且仅展示一次, 需另存起来使用通过SSH URL SSH URL提供通过SSH(一种安全协议)对Git存储库的访问。您必须在计算机上生成SSH密钥对,并将公钥添加到您在 GitHub.com 上的帐户。生成SSH密钥对 执行 ssh-keygen生成两个文件 私钥: /root/.ssh/id_rsa 公钥:/root/.ssh/id_rsa.pub配置RSA 公钥 https://github.com/settings/ssh/new使SSH 克隆代码 git ..

更多
1181920212277