知者行之始,行者知之成
2022-04-20 · 阅读 371 · 字数 646
需求背景 我正在用 golang + react ant design pro 开发一套公司内部使用的物联网产品解决方案的介绍网站,同时支持电脑端和手机端。 但是突然来了一个客户的紧急需求,就是能够手机扫描二维码,直接查看产品介绍。 最初想做微信小程序,但是由于要兼容海外市场,最终决定采用 H5 页面的方式来实现,支持中英双语。 于是纠结来了。如果把现在正在开发的那套代码复制过来,很多地方都是需要调整的,例如: 公司 logo 企业名称 备案号 等。而这些模板修改,放到代码中,非常不方便维护,以后再有第三套,第四套同样需要这些修改。 于是,我想是否能够实现一套像 php wordpress ...
2022-04-19 · 阅读 263
写了一个后台分页的 bug,问题的原因在 fmt.Sprintf 中我将 int 类型传递给了 %s。 有问题的代码 categoryId := 5 if categoryId > 0 { url += fmt.Sprintf("?category=%s", categoryId) } 其输出是: /solutions?category=%!s(int=5) 导致之后的参数解析逻辑没有正常执行。 而且这个 bug 具有隐蔽性,从打印日志输出看,我看了半天也没有发现这是一个错误的输出。 后来看 golang fmt 的文档,才知道这是错误信息。 Format ...
2022-04-18 · 阅读 281 · 字数 699
去集团另一个子公司现场办公一个周,每天走高速单程一个小时,身心俱疲。 实力不允许做雷锋 第一天早上6:50出门,绕回公司接同事,再走高速去另一个公司。8:20到达,整整一个半小时。 本来还以为绕个圈小意思,没想到这个小意思足够回乳山老家的时间了。 第二天,我就不敢再做好事了,让同事打车到我门口,我再开车去现场。不过,天天等人的滋味也并不好受。 下高速查行程码,要命 本来开这么远的距离已经够糟心了,下高速还要排队查行程码,赶上早晚高峰,排个 15 分钟到 20 分钟很正常。 没有比这更让人上火的了,不到两天,嘴上就起了个泡。 压垮骆驼的最后一根稻草 今天早上,照例我提前到了约定地点,等候永远迟到 ...
2022-04-14 · 阅读 232 · 字数 294
主要是为了用 golang 生成文章简介,及 html description 标签的内容。 逻辑 去除 html tag 取前 N 个字符 (160 个字母,或 80 个中文字符) HTML StripTags for Go, 去除 HTML 标签 https://github.com/grokify/html-strip-tags-go go get github.com/grokify/html-strip-tags-go 使用方法 import( strip "github.com/grokify/html-strip-tags-go" ) fun ...
2022-04-14 · 阅读 235 · 字数 223
由于我把记录每天 TODO 事项放在了 markdown 文件中,当需要记录具体某个事项的细节时,还是新开一个文档比较清晰,所以需要能在 VIM 中快速打开,或者新建文件。 vim-markdown 插件 原来 vim-markdown 组件是支持这个功能的: https://github.com/preservim/vim-markdown 安装: Plugin 'godlygeek/tabular' Plugin 'preservim/vim-markdown' NeoVim 中使用也完全没有问题。 ge 命令 要打开光标所在的文件链接,只需要在 VIM 中依次按下: ge 此时就 ...
2022-04-13 · 阅读 255 · 字数 190
需求 我想在微信小程序每个页面的底部都加上统一的页脚,例如,问题反馈入口和版权信息等。 由于页面太多,全部逐页手动添加不现实,所以需要用到引入公共模板的功能。 连 golang 的 template 都支持 include 功能,更何况小程序的 wxml 呢。 查了一下,确实支持。 https://developers.weixin.qq.com/miniprogram/dev/reference/wxml/import.html 放在哪里 可以在项目根目录,与 pages 平级,新建一个 templates 的目录,专门用来存放公用模板。例如: footer.wxml header.wxm ...
2022-04-10 · 阅读 349 · 字数 600
之前匆匆实现了 Android 拍照功能,但测试时发现得到的图片尺寸都很小,并不是拍照时的原始尺寸。 从官方文档得知原来 ACTION_IMAGE_CAPTURE 从 Intent 得到的是图片的缩略图。 而且解决过程中,万万没想到 Android 官方文档的中文版示例代码有问题,直接用里面的代码根本运行不了。同时,里面不少翻译错误。 需要切换为英文文档,才能跑通。浪费大量时间,服气了。 最终效果 为何直接从 Intent 得到的是缩略图 实际上 Android 官方文档写的也很详细: val cameraIntent = Intent(MediaStore.ACTION_IMAGE_CAP ...
2022-04-08 · 阅读 264 · 字数 225
申请软著需要提交 60 页代码,或者 3000 行代码。手动一个文件一个文件的复制黏贴太麻烦了。 特别是像 Android 项目这种目录层级特别多的,完全是浪费时间。 于是写了个 shell 脚本,自动生成 txt 格式的文件,然后全部复制到 word 中即可。 以 Android Kotlin 项目为例: shell 脚本 gen_code.sh #!/bin/bash set -e # or use "set -o errexit" to quit on error. set -x # or use "set -o xtrace" to prin ...
2022-04-07 · 阅读 342 · 字数 670
为何不适用基于 Javascript 的分页组件 For SEO. 写 Web 就是为了能被用户搜素到,如果不是为了这个目的,web 版本都没有存在的价值。 而分页导航又是被搜索引擎收录的关键,所以一定要在后台进行渲染,不要使用 Javascript。 后台模板实现 现在来看,Laravel Django 这类框架还是比 gin 爽,毕竟内置了分页组件。 可以参考这个封装,顺便学习一些 template html 库的使用。 https://github.com/AndyEverLie/go-pagination-bootstrap 封装的很好,复用性很强。但是需要改造的地方。 TODO [ ...
2022-04-05 · 阅读 592 · 字数 880
之前实现了 Android 拍照获取图片,现在需要再加上从相册选择照片。 交互 其实有多种交互方式: 界面上直接放两个按钮:一个是拍照,一个是从相册选取。简单直接。 点击拍照按钮,弹出一个选择框,提供两个选项,一拍照,二从相册选择 对于界面空间富裕的场景,我觉得第一种方式就非常方便了。当然,我也懒得搞那么复杂。。。 可是微信里面那个相机为啥那么方便呢?是否是自定义实现的相机,而不是调用的默认的相机应用。 kotlin registerForActivityResult 实现,目前推荐 registerForActivityResult 并没有 startActivityForResult ...
2022-04-05 · 阅读 358 · 字数 139
我想试试不依赖三方库,例如 GSON,的情况下,用 Android 内置的 JSONObject 来解析后台接口返回的 JSON 字符串。 后台返回的 JSON 格式为: { "err_code": 0, "count": 4, "img": "static/public_images/20220405_093125_cb6e46b6301542ada1ee8e4a7a182e1f.jpg", "shape": [ 232, 174 ...
2022-04-04 · 阅读 450 · 字数 1235
断断续续耗费了快一天时间,终于把 Android 拍照并使用 OkHttp3 上传图片的功能实现。 整体感受: Kotlin 相关的资料还是少,即便是英文的资料也不足,特别是三方库。大部分都是 Java 的代码 Android 这些类库相关接口废弃得过于频繁,就算找到了示例代码,经常是已经废弃的接口。对新手很不友好 无聊的概念太多,必须沉住气,要不很容易掀桌子 家里有孩子需要看,不可能一直坐在电脑边,身边有本纸质参考书翻翻,即便是过时的实现方法,还是有启发的,也可以了解基础知识 OkHttp 官方文档 https://square.github.io/okhttp/ 只不过文档是基于 Ja ...
生活 | 跑步 清单 足球 鲁班 探索 孤独的美食家 驾驶 电视剧 收纳 奶爸 健康 game 电影 周末 |
---|---|
Geek | 健身 Laravel Git Vim MySQL Linux UI Windows SVN 纪录片 管理 Shell 游记 工具 手机 BackboneJS 自建博客 Mac DNS Tornado CDN Django Python AngularJS 理财 前端 Nginx 爬虫 Redis Javascript Browser 浏览器 推广 OAuth CSS PHP Social Networks 安全 运维 创业 杂记 VueJS Android Image IDE Java ReactJS 数据分析 SQLite RESTful 读书笔记 家电 ecshop Vagrant wordpress docker SEO GTD magento mongodb nodejs weex 冷知识 ruby iOS 微信小程序 AI CMS 快应用 backpack 广告联盟 OA 短信 UWP Win CSharp Tampermonkey graphviz 钉钉 WPS 数据字典 微信公众号 Fuchsia Adobe XD SQL Server thinkphp 代码规范 商业模式 Flutter 头痛的问题 serverless 视频制作 国际化 golang 服务器 Kotlin 网站建设 5G 笔记本 图片 spark spring 物联网 InfluxDB 图像识别 |
成长的烦恼 | 闲言碎语 待产 不睡觉 写作 程序员 孙心然语录 原则 |
地球 | 植物 时间 中文 赚钱 国家地理 烟台 一生伏首拜阳明 emoji 弟子规 英文 国际贸易 |