conda导出环境
在个人电脑上开发完项目后要部署,比较便捷得方式就是将conda创建得环境导出一份到服务器上,再进行安装,下面就介绍以下导出conda环境得步骤。
导出环境Windows如果你是在Windows机器上开发Python,那么就需要使用如下命令:
1conda env export --no-builds | findstr -v "prefix" > environment.yml
Linux/macOS如果实在Linux或者macOS上开发Python,那么就需要使用如下命令:
1conda env export --no-builds | grep -v "prefix" > environment.yml
根据环境配置文件创建环境导出环境配置文件environment.yml后,即可根据这个配置文件进行创建
1conda env create -f environment.yml
默认会安装在miniconda得envs目录中,如果你想指定安装到某个目录,可以加入下参数
1conda env create -f ...
CentOS6解决GLIBC_2.14 not found问题
安装minicaonda时,提示libc.so.6: GLIBC_2.14' not found,需要在服务器上安装GLIBC+2.14
查看服务器支持的glibc版本在系统执行strings /lib64/libc.so.6 |grep GLIBC_命令,查看当前新系统支持的glib版本,没有2.14版本,需要下载进行升级
1strings /lib64/libc.so.6 |grep GLIBC_
输出如下
12345678910111213141516GLIBC_2.2.5GLIBC_2.2.6GLIBC_2.3GLIBC_2.3.2GLIBC_2.3.3GLIBC_2.3.4GLIBC_2.4GLIBC_2.5GLIBC_2.6GLIBC_2.7GLIBC_2.8GLIBC_2.9GLIBC_2.10GLIBC_2.11GLIBC_2.12GLIBC_PRIVATE
安装升级下载glibc2.14
http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
http://ftp.gnu.org/gnu/gl ...
更新Chrome浏览器时提示无法启动更新检查
感觉好久没更新Chrome了,于是打算更新一波,点击后发现一直无法跟新,并提示如下内容:
1无法启动更新检查(错误代码为4: 0x80070005-system level)
原因不知何时,Google的更新服务被关闭了,所以才会出现这个问题。大约是使用了联想电脑管家给我关的吧
解决办法打开Windows服务
Win + R 输入 services.msc,找到Google更新服务(gupdate),双击打开,将启动类型修改为手动。
此时便可以成功更新Chrome浏览器了。
在Windows中使用odbc访问kerberos认证的impala
一直使用mac或者wsl来解决访问带有kerberos的impala服务,但WSL毕竟也稍微麻烦了一点,就想着试下能不能再windows解决这个问题。一直使用的是jdbc的impala,看到官网有odbc的,于是就想着试一下,看看能不能解决。
下载odbc impala驱动打开cloudera官网->下载,产品下载 | Cloudera (clouderacn.cn),找到数据库驱动程序,点击Impala ODBC 驱动程序下载打开ODBC Connector下载页面,Download Impala ODBC Connector 2.6.17 (cloudera.com)。选择对应的操作系统版本,下载即可。
安装Cloudera Impala ODBC驱动双击ClouderaImpalaODBC64.msi,除了选择路径,其他无脑下一步。
配置Microsoft ODBC数据源管理程序在powertoys中搜索ODBC 数据源(64 位)
打开ODBC 数据源(64 位),在系统DSN中找到了默认添加的一条数据源
配置点击配置,根据自己实际情况进行配置
1234567891 ...
在Windows PowerShell上使用Miniconda
Miniconda简介Miniconda是一款小巧的python环境管理工具,安装包大约只有50M多点,其安装程序中包含conda软件包管理器和Python。一旦安装了Miniconda,就可以使用conda命令安装任何其他软件工具包并创建环境等。本文是在Windows 11系统下进行下载、安装和配置。
安装Miniconda下载在miniconda的官网找到下载页面下载页面进行下载。根据自己电脑的操作系统版本下载,现在大部分电脑应该都是64位的,所以最好选择python3的64位版本,即Miniconda3 Windows 64-bit ,(电脑是32位,则下载32位版本)。
安装双击Miniconda3-latest-Windows-x86_64.exe,无脑下一步,注意:不要选择添加到环境变量。
安装完成后,在任务栏搜索的地方输入Anaconda Powershell Prompt (miniconda3),打开PowerShell版本的Anaconda Promot,此时便可以使用conda命令了。
配置配置源
12conda config --add channels htt ...
Windows命令行中配置代理
PowerShell123# 当前 shell 的代理$env:HTTP_PROXY="http://127.0.0.1:1080"$env:HTTPS_PROXY="http://127.0.0.1:1080"
cmd123# 当前 shell 的代理set http_proxy=http://127.0.0.1:1080set https_proxy=http://127.0.0.1:1080
SpringBoot与Redis Stream整合实现消息队列
最近需要做一个简单的埋点工作,考虑到发送数据比较密集,每次都将数据实时写入那肯定不合理,于是就考虑利用消息队列做一下缓冲,避免过多的写入造成对系统的影响,这种场景拍脑门一想就是利用kafka或者rabbitmq来实现,但目前现状是申请网络策略非常麻烦,为了一个小功能再引入一个新的中间件也比较浪费,于是就想着利用redis stream来实现了。
环境要求
Redis 5.0以上,因为Redis5才新增的stream数据类型,具体可参考Redis Streams tutorial | Redis
具体实现依赖确认项目中依赖有spring-boot-starter-data-redis,如果没有的话请添加如下:
1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>
application.yml1 ...
SpringBoot与Redis Pub/Sub模型整合实现订阅发布
简单的介绍下Redis中的Pub/Sub模型的用法,前几年还用过,自从Redis Stream出来以后,这个应该就很少用。
Redis Pub/Sub优缺点先来看看优缺点吧,从以下就可以看出,这个模型可使用的场景实在是非常非常少了。
优点
支持发布 / 订阅,支持多组生产者、消费者处理消息
缺点
消费者下线,数据会丢失
不支持数据持久化,Redis 宕机,数据也会丢失
消息堆积,缓冲区溢出,消费者会被强制踢下线,数据也会丢失
实现方式实现方式比较简单,只需要创建于给监听器,实现MessageListener接口即可。
创建消费者监听器1234567891011121314151617181920212223242526272829303132@Log4j2@Configurationpublic class RedisListener implements MessageListener { @Value("${spring.redis.channel-topic:default}") ...
Npm Error - No matching version found for xxx
今天更换了Hexo的主题,并且升级了部分依赖,在Windows都已经调试完成,但是晚上回家合并到mac上后,执行npm install时提示如下错误:
1234567npm ERR! code ETARGETnpm ERR! notarget No matching version found for [email protected] ERR! notarget In most cases you or one of your dependencies are requestingnpm ERR! notarget a package version that doesn't exist.npm ERR! notarget npm ERR! notarget It was specified as a dependency of 'js-yaml-js-types'npm ERR! notarget
试过了删除node_modules,重新安装,执行npm cache clean --force,执行npm install --for ...
git fatal 拒绝合并无关的历史
场景最近学习前端,所以在电脑上创建了jslearn的项目来练习,在公司时用win学习,在家用mac,因为学习的同时也记录了笔记,于是就想用git做一下同步,首先在win电脑上创建git仓库,并将代码同步到github,然后在mac上的learn也创建git仓库,并将仓库地址指向同一个,此时,使用git pull会提示如下错误:
1234git pull origin main来自 https://github.com/tvzr/jslearn * branch main -> FETCH_HEADfatal: 拒绝合并无关的历史
原因
本地初始化的项目 与 github 版本不一致, 导致无法提交
解决办法只需要加个--allow-unrelated-histories参数即可。
12345678910111213git pull origin main --allow-unrelated-histories 来自 https://github.com/tvzr/jslearn * branch main ...