文章
问答
冒泡
  • 【记录】github使用ssh拉项目提示22端口被阻止的问题
    假设你已经设置好ssh的配置,并且已经添加到GitHub的账号中,突然ssh的22端口报错ssh: connect to host github.com port 22:,可以参考以下解决方案。 如果你在控制台使用ssh的方式clone项目的时候突然出现以下报错: **ssh: connect to host github.com port 22: Connection refused fatal: Could not read from remote repository.** 出现这个错误可能是因为 SSH 端口(22)被公司的防火墙或网络策略阻止。可以尝试以下解决方案: 检查一下自己的s...
  • KMP的初次尝试
    前言 Kotlin Multiplatform (KMP) 是 JetBrains 构建的开源技术,允许跨多个平台共享代码,同时保留了原生编程的优势。 支持的平台包括 iOS、Android、Desktop、Web 等。 随着 Kotlin Multiplatform 的日趋稳定,全球各地的开发团队都可以在生产环境中利用它的强大功能。在 5 月的 Google I/O 2024 大会上,Google 宣布正式支持使用 Kotlin Multiplatform 跨 Android 和 iOS 共享业务逻辑。 环境配置 参考链接:https://www.jetbrains.com/help/kot...
  • Flutter入门 (二)—— DevTools
    前言 被石老板喷的有点久(Flutter系列水文📒一直没更新),这次接上一篇文章接着水一把… 很多从前端转Flutter的同学都会有个疑问:Flutter有没有类似Chrome Inspector的东西??? 答案是:有!很相似但也不完全一样! 本期就给大家介绍笔者认为最好用的 —— DevTools 要原因如下 🚀 : DevTools本身是Flutter官方推荐的一个调试工具。 DevTools是用Flutter编写的,极具特色 🖼 。 非常全面的调试功能,可以满足大小、方面不同的优化需求 ⚙️。 DevTools 先来一段官网的介绍:   DevTools is a suite o...
  • jenkins升级之后无法启动问题的排查
    在升级到jenkins 2.479.1之后,出现了jenkins无法启动的问题,也查不到具体的报错信息很迷茫毫无头绪。经过一番排查结合猜测终于修复。 由于安装的这个jenkins版本比较老,最新的jenkins不再支持jdk11,将jdk 升级到21之后依旧无法启动。关键是没有生成什么报错信息。这个大概率不是在jenkins 启动过程中引发的异常,所以推断问题出是在启动脚本上。 查找启动脚本的位置 执行 systemctl status jenkins 可以看的加载的启动脚本位置是 /etc/init.d/jenkins 阅读启动脚本,在58行左右可以看到 # Which Java versi...
  • 基于Rollup实现支持按需加载的Taro组件库构建方案
    背景 由于我们经常会用到antd 风格的UI设计,而小程序开发我们更倾向taro实现,但是官方的ant-mobile并没有适配taro。所以我们考虑自己实现一个antd风格并且能适配taro的组件库。 设计目标 按照目标计划,我们同时构建出umd,es,cjs三种format。但是umd和es,cjs的构建产物是不一样的。umd中,我们需要一个js和一个css文件。而es和cjs我们考虑到按需加载的要求,需要遵循babel-plugin-import的加载策略,对文件结构是要要求的。 以es格式为例,组件文件下需要有个style文件夹,babel-plugin-import插件会在使用组件的时...
  • Weapp-vite “重塑小程序开发体验”
    weapp是一款声称“重塑小程序开发体验”的开源框架,由于项目作者刚刚发布,使用的人数不是很多,我来看看到底怎么回事。 项目地址:github:[https://github.com/weapp-vite/weapp-vite](https://github.com/weapp-vite/weapp-vite)。 首先我们按照官方文档的快速开始教程,直接在控制台创建一个集成了常规前端工程配置项目模板(tailwindcss,sass,ts)。 npx weapp-vite create my-app,然后执行pnpm i 安装依赖包,得到以下结构: 参照package.json中的script...
  • taro中使用linaria作为css-in-js的方案
    在taro 官方文档中有对应的使用linaria作为css-in-js方案的文档 https://taro-docs.jd.com/docs/next/css-in-js 但是文档相对落后了,该文档试用与linaria 5.x,linaria已经升级到6.x,那么我需要对其进行相应的调整。 主要是将部分原来 linaria的包改成 wyw-in-js $ pnpm i @linaria/core @linaria/react @wyw-in-js/babel-preset @wyw-in-js/webpack-loader babel.config.js: module.exports = {...
  • 基于cropperjs实现antd带图片裁剪功能的头像组件
    背景 我们经常会遇到在上传头像的时候,需要对头像进行裁剪的需求,antd 官方推荐了https://github.com/nanxiaobei/antd-img-crop 和 https://github.com/sekoyo/react-image-crop ,虽然这两个组件也能满足一般的需求,但是我们从自身需求出发,希望有更可控的解决方案,并且希望后面通用的解决方案可以用在我们vue的组件库中,那么这种完全基于react的方案就不是很适用,这时候cropperjs这种不依赖react或vue等框架的组件库就成为了一个比较好的选择。 cropperjs github https://gith...
  • 鸿蒙Next-渐变文本实现
    在鸿蒙Next中,想要实现渐变文本可使用2种方式 使用Canvas绘制 使用linearGradient与blendMode结合 以下提供2种方法的实现样例代码 一、Canvas绘制 Canvas(this.context) .onReady(() => { let str = '这是一段渐变颜色的文字' let size = this.context.measureText(str) let linearGradient = this.context.createLinearGradient(0, 0, size.width, size.height) linearGradient.addC...
  • 使用certbot获取Let's Encrypt通配符证书并更新到Openshift集群路由
    原理 当我们使用 certbot 申请通配符证书时,需要手动添加 TXT 记录。每个 certbot 申请的证书有效期为 3 个月,虽然 certbot 提供了自动续期命令,但是当我们把自动续期命令配置为定时任务时,我们无法手动添加新的 TXT 记录用于 certbot 验证。 好在 certbot 提供了一个 hook,可以编写一个 Shell 脚本。在续期的时候让脚本调用 DNS 服务商的 API 接口动态添加 TXT 记录,验证完成后再删除此记录。 参考Github项目certbot-dns-aliyun 1、准备工作 一个阿里云的域名,要求备案 阿里云的ACCESS_KEY_ID和AC...
  • © 2015-2024 苏州墨焱网络科技有限公司
  • 苏ICP备14018695号-2
  • 公安 苏公网安备 32059002002453号