2023年09月个人工作生活总结
本文为 2023 年 9 月工作生活总结。
研发编码
Alpine 容器
某工程部署于alpine镜像,当初看上是因为其体积小,其它微服务,在250MB左右,但那个工程只用50MB。最近发现时间戳转换不正确。对于同一时间字符串转时间戳函数,在centos镜像和alpine镜像,得到的结果不同,相差8小时,这导致系统功能出错,本来应该是0点生效的,结果需等待8时方生效。花了些时间排查,未果,为不影响上线时间点,于是改成centos镜像,问题解决。后面使用Go和C++整合测试,发现Go转换是没有问题。
GIS
关于地图的事,一直不理解切片和经纬度之间的联系,请教了同事,同事说是有个公式,能从经纬度转得到切片的X、Y值,于是在网络搜索了一番。找了个实例来验证。
先在高德地图找一个真实的经纬度:
https://www.amap.com/regeo?lng=111.015295&lat=22.891922
通过下面的代码,可以找到对应的真实切片,查询:
http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x=3311&y=1780&z=12
转换js代码(代码来自网络,缩放等级12):
// 结果:test: x = 3311 y = 1780// 经纬度转瓦片编号
function lon2tile(lon,zoom) { return (Math.floor((lon+180)/360*Math.pow(2,zoom)));
}function lat2tile(lat,zoom) { return (Math.floor((1-Math.log(Math.tan(lat*Math.PI/180) + 1/Math.cos(lat*Math.PI/180))/Math.PI)/2 *Math.pow(2,zoom)));
}// 瓦片编号转经纬度function tile2long(x,z) {return (x/Math.pow(2,z)*360-180);}function tile2lat(y,z) {var n=Math.PI-2*Math.PI*y/Math.pow(2,z);return (180/Math.PI*Math.atan(0.5*(Math.exp(n)-Math.exp(-n))));}function main()
{var x = lon2tile(111.015295, 12);var y = lat2tile(22.891922, 12);console.log("tile test: x =", x, "y =", y);
}main()
工作记录
流水账
工控机国产化
这个月,同事重新安装Kylin嵌入式版本,比桌面版少了一些功能。重新理了系统脚本,让其更合理。比如数据库TiDB,原来是在应用层启动脚本中进行的,现在改成service方式,再在应用层脚本中通过有无该进程判断是否已正常,然后再启动其它依赖数据库的程序。
由于之前啃了不少骨头,现在遇到的坑基本不是很大。
本月做的事,一个是音频,要安装play命令,在Kylin技术沟通群里专家,隔了一天才回复询问是什么环境,在此之前通过一些外部英文网站找到解决方案,连接网络情况下,执行命令apt-get install -y sox libsox-fmt-all即可完成安装,播放几个wav音频正常,通过alsamixer命令调节音量,正常。就如此简单。
另一个是时间同步,在嵌入式版本上,手动执行date -s可看到预期结果,但再执行date即失败,断网后,问题修复。最终发现是设置界面里,日期时间配置项默认是自动同步的,改为手动同步,或设置不存在的NTP服务器,可达到手动改时间目的。
整理文档
趁磁盘被格式化之际,重新整理了残留下来的工作文档,再按类别分目录。比如:自己研发的内部工具,负责的工程代码,负责的事务,协助事务,问题排查,等。目前计划做一个类似mypkc的目录,所有的资料及文档均放于此,像分析日志及大型文件,如压缩后,还是较大,则抽取所需部分存放,其它不要。考虑便捷性,基于markdown管理。该目录会提交到远程仓库备份。
感悟
本来有个事务/项目一直是我跟着,上个月中旬开始至本月下旬,业主方那边没进一步消息(可能消息没到我这一level)。月底,领导询问另一同事关于此事的进度,原来业主方又提了些新的需求,这是之前专家评审会上没提过的,至于原因未明,经评估,改动的系统较多。从此事看来,自身能力还是不行,需想办法提升。
加班
中秋节下午,有同事在微信群里发一个和数据有关的问题,傍晚时分在家吃着饭,打电话给我,程序跑了近一个月没重启过,日志正常,查不出什么问题。当时没意识问题严重性,由于舟车劳顿,想早点睡,结果领导打电话问进展,再质问。接着副领导打电话问我有没有处理这个问题,接着联系值班同事查日志、重启,同时查代码改代码测代码打镜像导出包。从木星在东山出现,搞完一切再在微信汇报给领导时,土星已经快到西山了。
生活记录
换手机
原来的小米手机,经过一个多月与店家周旋,最终免费换了一个屏幕。基本每周去问一次,回复都是没有货。目前有2台正常可用的手机了,刚好分主备。像支付宝领红包之类的操作,可以用2个手机操作,方便很多。
回老家
在放假前2天,终于候补成功中秋节当天的火车票,于是退了次日的票,当天回,妹夫到车站接,赶上了家里的晚饭,大锤大妞能和表姐表弟一起碰杯喝饮料。在家享受几天不用洗碗煮饭的日子。
思想方面
育儿记录
上学
大锤正式上学了,但从不愿意分享在学校学的,问也不说,或者只是没对我讲而已。最近的关系差了很多,之前要求他每天写几个字,但没几天就不干了,骂了几句,晚上就不再跟我睡。而他妈妈,基本每天都灌输一些注意事项,讲的都是一些我觉得不太好的事,比如被老师罚站,被同学打。在教育过程中,我试图插话,反而引发大人级别的日常争吵 。现在还是动不动就出现上火、病毒、生病、打人这些话,我担心一直如此,小孩心理会有问题。
大锤刚开始上学时,他妈妈早上起来煮早餐,坚持一周多,就把这个任务移交给我了。买了箱牛奶,每天一瓶,至于吃的东西,粥、面、包子、饺子来回换着。菜品是有些单调,但好过每天到外面买包子吃。
观星
上个月至今,断续看了些三垣四象等天文资料和视频,也教大锤背北斗七星和二十八星宿名称,在手机和电脑下载了Stellarium软件,也带大锤看了若干次星星,就目前季节,在城市楼顶只能看到大角、织女、河鼓二、天津四这几个较亮的星星,但大锤更喜欢是拿着手机放大去看金星和土星。而大妞,因为某些原因,不给带着去楼顶。但在老家里,总算能带着他们到楼顶看星星了,只是月亮太亮,不合适在楼顶睡觉,做不到“卧看牵牛织女星”。今年,完成部分的带娃任务,去了科技馆,博物馆、图书馆,看了日落和星星。
业余研究
最近终于下了一些决心,把我的个人文章重新整理。最早的文章还是大学没毕业时写的,年代久远,历史遗留问题较多,只能按需整理,当前最大问题是分类不合理,同一个技术点,会被分到不同的目录里,回溯麻烦。或许年龄见长,要研究的技术方面太多。像数据库,接触了mysql、oracle、clickhouse、tidb,有的涉及到用docker部署,有的涉及修改源码或修改配置或写测试程序,所以要分到不同的目录。像nginx,涉及到docker部署,涉及高可用,一些事务也用到nginx做协助。诸如此类。
记账工具mnote
已完成了账单json的导入到sqlite3数据库功能,后续研究怎么写前端页面。前段时间,通过某些手段方法,获取到了我在那个APP的账本分类,账户信息以及从2010年至今的记账明细,虽然从网页上获取较麻烦,较花时间,但终究也能全部下载完。不过遇到一个严重问题,没有按账户记录的明细,本来可以通过记账明细推导,因历史原因,有部分账户在不同时期被手工重置金额且无法获取。目前能想到的办法是在APP中查询,手动记录,再导入数据库。
八月既望于二楼阳台,望月写。
相关文章:
2023年09月个人工作生活总结
本文为 2023 年 9 月工作生活总结。 研发编码 Alpine 容器 某工程部署于alpine镜像,当初看上是因为其体积小,其它微服务,在250MB左右,但那个工程只用50MB。最近发现时间戳转换不正确。对于同一时间字符串转时间戳函数࿰…...
现货白银图表分析的依据
现货白银的行情图表分析其实与股票的差不多,投资者可以结合均线、k线的变化,来分析实时的行情走势。当走势图的均线呈多头排列,即短期、中期、长期均线依次从上到下排列并向右上方运行,且白银价格沿各均线向右上方拉升,…...
python多线程与多进程
多线程与多进程 一, 什么是进程, 什么是线程? 进程: 运行中的程序. 每次我们执行一个程序, 咱们的操作系统对自动的为这个程序准备一些必要的资源(例如, 分配内存, 创建一个能够执行的线程. ) 线程: 程序内, 可以直接被CPU调度的执行过程. 是操作系统能够进行运算调度…...
62从零开始学Java之时间相关的类都有哪些?
作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 我们在开发时,除了数字、数学这样的常用API之外,还有日期时间类,更…...
【Leetcode】买卖股票系列
121. 买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔…...
SLAM面试笔记(8) — 计算机视觉面试题
目录 问题1:目标检测的算法分类 问题2:卷积神经网络的组成 问题3:输入层的作用 问题4:卷积层作用 问题5:卷积核类型 问题6:11卷积核作用 问题7:卷积核是否越大越好 问题8:棋…...
聊聊MySQL面试常问名词回表、索引覆盖,最左匹配
文章目录 1. 前言2. 回表操作 Index Lookup2.1 什么是回表2.2 回表的成本2.3 如何避免回表 3. 索引覆盖 Covering Index3.1 什么是索引覆盖3.2 索引覆盖的优点3.3 如何使用索引覆盖 4. 最左匹配原则(Leftmost Prefix Match)4.1 什么是最左匹配原则4.2 最…...
【面试】C/C++面试八股
C/C面试八股 编译过程的四个阶段C和C语言的区别简单介绍一下三大特性多态的实现原理虚函数的构成原理虚函数的调用原理虚表指针在什么地方进行初始化的?构造函数为什么不能是虚函数为什么建议将析构函数设为虚函数虚函数和纯虚函数的区别抽象类类对象的对象模型内存…...
学习记忆——数学篇——算术——无理数
谐音记忆法 2 \sqrt{2} 2 ≈1.41421:意思意思而已;意思意思; 3 \sqrt{3} 3 ≈1.7320:—起生鹅蛋;一起生儿; 5 \sqrt{5} 5 ≈2.2360679:两鹅生六蛋(送)六妻舅;儿儿生…...
python协程和任务
协程概念引入 协程是我要重点去讲解的一个知识点. 它能够更加高效的利用CPU. 其实, 我们能够高效的利用多线程来完成爬虫其实已经很6了. 但是, 从某种角度讲, 线程的执行效率真的就无敌了么? 我们真的充分的利用CPU资源了么? 非也~ 比如, 我们来看下面这个例子. 我们…...
visual studio code配置anaconda3的python虚拟环境
参考: Visual Studio Code配置anconda3虚拟环境 - 知乎...
【Unity3D编辑器开发】Unity3D编辑器开发基础性框架结构【全面总结】
推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 嗨,大家好,我是恬静的小魔龙。 同学们…...
一座“城池”:泡泡玛特主题乐园背后,IP梦想照亮现实
“更适合中国宝宝体质”的主题乐园,被泡泡玛特造出来了。 9月26日,位于北京朝阳公园内的国内首个潮玩行业沉浸式 IP 主题乐园,也是泡泡玛特首个线下乐园——泡泡玛特城市乐园 POP LAND正式开园。 约4万平方米的空间中,泡泡玛特使…...
【什么是闭包? 闭包产生的原因? 闭包有哪些表现形式?】
JS闭包 什么是闭包?闭包产生的原因?闭包有哪些表现形式? 什么是闭包? 闭包是指一个函数可以访问并操作在其作用域之外的变量的能力。在 JavaScript 中,每当函数被创建时,就会创建一个闭包。 以下是一个简单的闭包示例…...
JackJson和FastJson
前言: fastjson是一款强大的json格式转换工具,我个人在开发中就非常喜欢用fastjson;但是由于某些原因,导致fastjson会有一些漏洞,因此在漏洞扫描后需要修复都是要求我们升级版本,或者替换为jackjson&#…...
SpringCloud学习一
单体应用存在的问题 随着业务的发展,开发变得越来越复杂。 修改、新增某个功能,需要对整个系统进行测试、重新部署。 一个模块出现问题,很可能导致整个系统崩溃。 多个开发团队同时对数据进行管理,容易产生安全漏洞。 各个模块…...
SpringBoot, EventListener事件监听的使用
1、背景 在开发工作中,会遇到一种场景,做完某一件事情以后,需要广播一些消息或者通知,告诉其他的模块进行一些事件处理,一般来说,可以一个一个发送请求去通知,但是有一种更好的方式,…...
课题学习(三)----倾角和方位角的动态测量方法(基于陀螺仪的测量系统)
一、内容介绍 该测量系统基于三轴加速度和三轴陀螺仪,安装在钻柱内部,随钻柱一起旋转,形成捷联惯性导航系统,安装如下图所示: 假设三轴加速度和陀螺仪的输出为: f b [ f x f y f z ] T f^b\begin{bmatrix}f_{x} …...
1876. 长度为三且各字符不同的子字符串
1876. 长度为三且各字符不同的子字符串 C代码:滑动窗口 // 存在三种字符,且不重复、子串数量 int countGoodSubstrings(char * s){int k 3;int hash[26] {0};int len 0;int l 0;int ans 0;for (int i 0; i < strlen(s); i) {hash[s[i] - a];if…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...
