大象笔记

知者行之始,行者知之成

为了避免律师函警告,从 miniconda 切换到 miniforge

今天无意间在某书上刷到,某公司使用 anaconda 管理 Python 开发环境,收到了律师函。 说是在商用场景下,如果公司超过 200 人,就会收到律师函(虽然公司目前没有这么多人,但是万一哪天超过了呢?)。而 miniconda 也不安全,我没有看懂 miniconda 什么情况下会收函, 但是为了避免律师函警告,折腾了半天,从 miniconda 切换到 miniforge 了,Python 世界的妖孽真多 😅 怪不得安装 miniconda 时,需要同意某个协议,但是正常人谁会去看命令行里的用户协议啊。。。 真是大坑。 什么是 miniforge miniforge 是 minico ...

阅读全文...

公司要在办公电脑上安装加密软件,折腾啊

最近公司要求在所有电脑上安装加密软件。其功能是自动将本机的文件,做加密。 加密之后,要通过聊天软件传给其他人,就得先解密。这个解密流程类似企业微信,或者钉钉里的审批流程。 x,我这里一堆 Excel 批量导入的功能,以及 Word 自动化模板处理功能。不知道到时候怎么上传线上环境。只能每次都走审批流程了。 安装加密软件前的准备 微信聊天记录清空,卸载,只保留企业微信来传输文件。注意是防止个人隐私聊天记录被截屏。 退出 wps 账号,并清空本地文件。防止个人文档被加密后,同步到 wps 云盘。那就麻烦了。 安装 我看了一下安装的是北京亿赛通科技的加密软件,没有听说过。 测试 测试了一下,目前 ...

阅读全文...

企业微信同步内部员工通讯录 golang 实现

基于自建应用、自有系统。 腾讯官方文档 概述 - 文档 - 企业微信开发者中心 https://developer.work.weixin.qq.com/document/path/90193 通讯录同步相关接口,可以对部门、成员、标签等通讯录信息进行查询、添加、修改、删除等操作。 企业如果需要从自有的系统同步通讯录到企业微信,需要使用通讯录同步secret。 自建应用、代开发应用、第三方应用在提供功能时,往往需要获取通讯录,开发者可查阅成员、部门、标签相关的接口说明。注意,自建应用、代开发应用、第三方应用仅能读取通讯录,不能编辑,且仅能读取可见范围内的通讯录。 2022年8月15日起,通过 ...

阅读全文...

Golang time.Parse 时区问题引起的时间比对 bug

使用 golang 开发的大赛报名截止时间功能,发现一个奇怪的 bug,就是截止时间判断不准确。 现象是,截止时间设置的是今天上午十点,但是判断函数只有在下午 18 点时才生效。 我第一反应是大概就是时区问题。 未指定时区前 now := time.Now() registerStartTime, err := time.Parse("2006-01-02 15:04:05", registerStart) registerEndTime, err := time.Parse("2006-01-02 15:04:05", registerEnd) fm ...

阅读全文...

[Magento 2 定制化开发] 之十四:Magento 产品详情页面 Details 和 More Information 标题文字修改

想修改 Magento 产品详情页面 Details 和 More Information 标题文字。 首先需要确认是修改哪个文件: 包含 More Information 的文件 > cd /some_path/magento2/vendor/magento > grep "More Information" -r . ./module-page-builder/view/frontend/page_layout/product-full-width.xml: <argument name="title" translate=&qu ...

阅读全文...

通过 MySQL SQL 批量修改 Magento 产品详情

背景 Magento 批量导入的产品详情中,图片的 alt 属性有问题,导致在前端显示不正常。需要通过 SQL 批量修改。 产品详情在哪个表 Magento 2.4.6 版本,产品详情在 catalog_product_entity_text 表中,字段 value 中存储了产品详情的 HTML 内容。 这里很有意思,magento 的产品 SKU,name,price,detail 存储在不同的表中,例如: 产品 SKU 存储在 catalog_product_entity 表中 产品名称存储在 catalog_product_entity_varchar 表中 产品价格存储在 catal ...

阅读全文...

Python 获取不同时区的当前时间

需求背景 需要给处于不同时区的用户,显示不同的当前时间。 如果直接使用 datetime.now() 返回的只是服务器的时间,无法满足不同时区用户的需求。 解决方法 ZoneInfo 参考: https://docs.python.org/3/library/zoneinfo.html 从官方文档可看到,python 3.9 开始内置了这个库。用法: Python 3.12.3 (main, Feb 4 2025, 14:48:35) [GCC 13.3.0] on linux Type "help", "copyright", "credi ...

阅读全文...

Magento 自定义模块实现批量导入产品信息 (一)

背景 通过 Magento Admin 后台手动批量导入 CSV 太慢(在产品比较多的情况下)。需要等待很长时间。 如果能够通过程序,自动化导入批量的 CSV 文件,那就能大大提升效率,减少繁琐的手动操作及等待时间。 而 Magento 又不支持导入的 RESTful API,也不支持命令行,所以只能使用其他的方案。 Magento 定制化模块 网上找到一个方案,看起来是比较靠谱的: https://magento.stackexchange.com/questions/359280/import-product-data-programmatically-using-csv 里面推荐使用定制 ...

阅读全文...

高新技术企业资格测评微信小程序

五一小长假节前给一个客户开发了一套高新技术企业测评小程序。主要功能是方便想申报高新企业的客户了解申报过程中的一些细则,以及通过内置的自评工具,及调查问卷功能,方便辅导机构有针对性地进行指导。以下是一些主要功能界面的截图: 首页界面 常见功能 FAQ 界面 可以查看并检索关于高新技术企业在申报过程中的疑问。里面的资料也都是从政府官方资料中摘取的,非常具有权威性。 专家咨询功能 包括在线微信聊天咨询,及电话等联系方式,以及微信地图导航功能。 研发费用占比计算器功能 研发费用占比=企业近三个会计年度的研发费用总额/企业近三个会计年度的销售收入总额×100%。对于不同销售收入等级的企业,其研发 ...

阅读全文...

对话机器人 Rasa(三十九):使用 Python 编写自动化测试脚本

之前使用 Bash Shell 脚本来实现的 Rasa 长对话流程的测试(多轮对话,因为很多 bug 只有在多轮对话的特定流程之后才会复现)。 但是,Shell 变量太难搞了,特别是单引号及双引号混用的情况。 例如,下面这段脚本: #!/bin/bash set -e # or use "set -o errexit" to quit on error. set -x # or use "set -o xtrace" to print the statement before you execute it. # 定义一个变量,值为 test_us ...

阅读全文...

查看 Magento 批量导入的错误日志

发现 Magento 批量导入 CSV 之后,网站上显示的产品总量跟 CSV 里的行数对不上。 需要查看哪里报错了。 可以登录服务器,在 Magento 项目目录下,查看 ls var/import_history 会发现,除了上传的 CSV 文件之外,还有一些以 error 后缀的文件,例如: <时间戳>_filename.csv <时间戳>_filename_error_report.csv 下载 xxx_error_report.csv 之后,用 WPS 打开,会看到最后一列是 error 信息。按提示修正即可。 参考 https://magento.sta ...

阅读全文...

VSCode VIM 插件技巧:使用 Windows 剪切板

需求背景 需要大量搜索某些字符串时(例如,rasa 项目搜索各种 utter_xxx),使用 VIM 模式复制,然后黏贴到 VSCode 的搜索功能,非常麻烦。 还不如鼠标框选 ctrl + c 来的方便。 好在今天在看一篇关于 VSCode VIM 插件使用经验的文章里看到有个配置,可以将 VIM 模式下复制的内容直接存储到 Windows 系统剪切板。 设置方法一 打开 VSCode 设置,搜索 vim clipboard: 勾选 “Use system clipboard for unnamed register” 设置方法二 setting 文件的配置方法 顶部搜索条里,搜素 set ...

阅读全文...