大象笔记

知者行之始,行者知之成

Expo 官方文档适合作为 React Native 的入门教程

Expo 这个文档写的非常好。通俗易懂。细节也到位。强烈推荐。甚至比 React Native 国内的书籍要好很多。 https://docs.expo.dev/tutorial/introduction/ 一共分9个小节, 把 react native 的基础概念都覆盖到了: Create your first app Add navigation Build a screen Use an image picker Create a modal Add gestures Take a screenshot Handle platform differences Configure sta ...

阅读全文...

修复 Magento 询盘组件在产品列表页不弹窗显示

在外贸站 Magento 主题中,使用了 bluethinkinc/magento2-module-product-enquiry 这个询盘组件。 在产品详情页是可以正常点击按钮进行询盘的。 但是在产品列表页,部分产品可以正常询盘。但是某些产品,点击了询盘组件之后,无法弹出询盘窗口。 问题出在哪里 看了一下页面的代码,发现这个询盘组件,会在产品框里增加一个询盘按钮,id 为产品的 sku。 问题就出在这里,因为 sku 中可能包含特殊的字符,例如空格,句号之类,导致生成了一个非法的 html 元素 id。 于是 js 的点击响应事件就无法触发了。 所以,需要修改一下插件的代码,来修复这个 bu ...

阅读全文...

React Native 项目打包为 Web 版本

用 React Native 开发了一个聊天的 APP,想同时支持 App 和 Web 版本。 之前一直以为 React Native 只能开发 Android 和 iOS 版本的 APP,没想到还能直接打包为 Web 版本。(当然微软也提供了 Windows 客户端版本的支持) Web 版本打包命令 npx expo export 可以看到输出如下: Starting Metro Bundler iOS Bundled 40778ms node_modules\expo-router\entry.js (1170 modules) Android Bundled 44507ms node_ ...

阅读全文...

Windows 11 上生成 public key

最近在搞 React Native Android App 的测试,由于涉及到 Android Studio 的使用,所以不适合在 WSL Ubuntu 环境下开发了。 于是把开发环境都搭建在了 Windows 11 系统里。命令行自然换成了 PowerShell,但是由于没有 public key,git 提交代码到远程仓库,就非常麻烦。 搜索了一下,发现 Windows 上已经可以直接使用 ssh-keygen 生成 key 文件了 (不知道啥时候支持的😅)。参考: https://learn.microsoft.com/en-us/windows-server/administratio ...

阅读全文...

Github Copilot Chat 初试,通过 SQL 导入 CSV 文件到 MySQL 数据表

我想将一个 Excel 中的数据导入到 MySQL 数据表,首先,将 Excel 转成了 CSV 文件。 但是不知道为啥,MySQL Workbench 的 Table Data Import Wizard 选中 CSV 文件之后就崩溃。 于是我想为何不用 Github Copilot 生成 SQL 来处理呢?正好试试 Chat 功能。 非常 nb,稍微修改一下就能直接使用。你可能会觉得,这跟直接向 chatgpt,或者豆包之类的 AI 问问题,得到答案没有什么不同啊?但是,copilot 加入了文件 context 之后,就能精准的把字段都识别出来了,省去了手工输入字段的麻烦。 Copil ...

阅读全文...

对不起豆包,我开通了 GitHub Copilot Pro 会员

体验了 GitHub Copilot Free 功能有两个周了吧,整体上还是非常惊艳的。虽然基本的功能豆包 marscode 都支持,但是我总感觉 copilot 的代码自动补全更强大一些。没有具体的对比指标,主观性更强一些。而且 copilot 还支持 vim 插件,就冲这份情怀,也值得冲一波,毕竟白嫖 GitHub 这么多年。 copilot free 每月 2000 次的自动补全额度是否够用。我觉得应该是不够用的。假设一个月工作 20 天,一天只有 100 次,一天工作五小时,一个小时只有 20 次补全。这肯定是不够的。特别是使用之后,就会产生严重的依赖性。一分钟用个 10 次都有可能。 ...

阅读全文...

React Native 编译 Android APK

React Native 编译 Android APK 真是费劲,周末折腾了半天。浪费生命。有空试试 Google NPX 能否云编译。 国内的网络环境,搭建环境能要人命。 新建项目 npx create-expo-app@latest 网页浏览器调试 > npm run web Android 真机调试 PS D:\android_sdk\platform-tools> .\adb.exe devices List of devices attached 1eb7903e device 最好是把 adb.exe 的目录,放到系统环境变量中。要不每次都要到 An ...

阅读全文...

小米澎湃 OS 2 开启开发者模式

小米澎湃 OS 2 开启开发者模式,跟之前的 Android 系统开启开发者模式,类似的步骤。 主要分两步: 步骤一 点击澎湃 OS 的设置功能,即手机主屏幕上的设置 APP,进入我的设备; 在我的设备里,下滑,点击全部参数与信息 在全部参数界面里,点击“OS版本” 区域七次 此时小米系统会提示已开启了开发者选项功能。 步骤二 打开了开发者选项之后,需要回到设置界面 在底部找到更多设置 更多设置里有个开发者选项,进入 启用三个功能:1. USB 调试,2. USB 安装, 3. USB 调试(安全设置) 然后就能在 Android Studio 中看到你的小米手机设备了。 ...

阅读全文...

Windows 系统通过 Chocolatey 安装 Node

突然想尝试一下 React Native,把一个用 react 开发的移动端网页转成 Android App。 由于我的 Android Studio 开发环境安装在 Windows 11 系统上,所以需要对应的在 Windows 系统上安装 React Native 开发环境。而安装 NodeJS,RN 官方推荐使用 Chocolatey 工具。 We recommend installing Node via Chocolatey, a popular package manager for Windows. 什么是 Chocolatey Chocolatey 是一个适用于 Windo ...

阅读全文...

docker 中 eventlet dnspython 域名解析超时

用 flask-socketio 实现了一个 socketio 的后台接口,由于 flask-socketio 依赖 eventlet,所以又安装了 eventlet。 然后发现其在 docker 内使用时,无法解析 docker compose 中配置的容器别名。 折腾了半天,最重要的收获是,尽量不要用 python eventlet 这些库,就跟玩具一样,完全浪费生命。早换 golang 早享受。 DNS Lookup timed out redis.exceptions.ConnectionError: Error -3 connecting to redis:6379. Lookup ...

阅读全文...

Flask Basic Auth 账号密码验证

用 Python 的 Flask 框架,写了几个测试用的网页,需要放到公网服务器上。 但是为了防止被搜索引擎爬虫收录,所以需要加上 Basic Auth 账号密码验证。类似 使用 Nginx htpasswd 限制页面访问权限 的做法,但是可以省去 Nginx 的配置。 界面效果 安装依赖 pip install Flask-HTTPAuth 代码 from flask_httpauth import HTTPBasicAuth from werkzeug.security import generate_password_hash, check_password_hash basicA ...

阅读全文...

Remove Add to Cart Function in Magento related products list

Removed Add to Cart function in magento 2 product detail page, but this function still exists at the bottom of page, in related products list section. Change phtml code to hide it! Search File > cd vendor/magento > grep "related_products" -r . ./module-catalog/view/frontend/template ...

阅读全文...