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中查询,手动记录,再导入数据库。

八月既望于二楼阳台,望月写。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/95215.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

npm排错记录

统一node和npm版本: 目前node 16.13.1 npm 8.1.2 npm ERR! Cannot read properties of null (reading pickAlgorithm) 尝试清缓存 npm cache clear --force npm not working - "read ECONNRESET"和npm install returns "TypeError: Cannot convert …

APSIM模型】作物模型应用案例

APSIM (Agricultural Production Systems sIMulator)模型是世界知名的作物生长模拟模型之一。APSIM模型有Classic和Next Generation两个系列模型,能模拟几十种农作物、牧草和树木的土壤-植物-大气过程,被广泛应用于精细农业、水肥管理、气候变化、粮食安…

【iptables 实战】9 docker网络原理分析

在开始本章阅读之前,需要提前了解以下的知识 阅读本节需要一些docker的基础知识,最好是在linux上安装好docker环境。提前掌握iptables的基础知识,前文参考【iptables 实战】 一、docker网络模型 docker网络模型如下图所示 说明&#xff1…

僵尸进程的产生与处理

僵尸进程是指在进程结束后,其父进程没有及时处理该进程的终止状态信息,导致该进程的进程描述符仍然存在于系统进程表中,但是已经没有实际的执行代码。这样的进程被称为僵尸进程。 僵尸进程的产生是由于父进程没有及时调用wait()或waitpid()等…

RabbitMQ-死信队列

接上文 RabbitMQ-java使用消息队列 1 死信队列简介 死信队列模式实际上本质是一个死信交换机绑定的死信队列,当正常队列的消息被判定为死信时,会被发送到对应的死信交换机,然后再通过交换机发送到死信队列中,死信队列也有对应的消…

基于Matlab求解高教社杯数学建模竞赛(cumcm2010A题)-储油罐的变位识别与罐容表标定(附上源码+数据+题目)

文章目录 题目解题源码数据下载 题目 通常加油站都有若干个储存燃油的地下储油罐,并且一般都有与之配套的“油位计量管理系统”,采用流量计和油位计来测量进/出油量与罐内油位高度等数据,通过预先标定的罐容表(即罐内油位高度与储…

2023年7月工作经历二

invoke的翻译 C#的这个关键字很熟,但不知道如何翻译比较好。和网友沟通,并查阅多篇博文,觉得“同步调用(invoke)和异步调用(beginvoke)”比较好。 VS2022很爽 C#的类名,会提示命名空间。C调试的时候&…

洛谷_分支循环

p2433 问题 5 甲列火车长 260 米,每秒行 12 米;乙列火车长220 米,每秒行 20 米,两车相向而行,从两车车头相遇时开始计时,多长时间后两车车尾相离?已知答案是整数。 计算方式:两车车…

【Ubuntu】基于C++实现人脸识别

人脸识别考勤机 文章目录 人脸识别考勤机概述第一章 搭建Ubuntu环境1.1 什么是物联网1.2 物联网应该怎么学1.3 Linux开发环境搭建1.4 Linux基本使用1.5 Ubuntu网络配置 第二章 “hello,world!”程序2.1 什么是程序2.2 “hello,world!”程序2.3 C语法扩展2.4 常见错误调试 第三章…

ELK 处理 Spring Boot 日志

ELK 处理 Spring Boot 日志,妙啊! 来源:ibm.com/developerworks/cn/java /build-elk-and-use-it-for-springboot -and-nginx/index.html ELK 简介 Logstash Elasticsearch Kibana ELK 实现方案 ELK 平台搭建 安装 Logstash 安装 Elas…

国庆day5

客户端 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);socket new QTcpSocket(this);//此时,已经向服务器发送连接请求了,如果成功连…

图的深度遍历-邻接矩阵实现

description 本题要求实现邻接矩阵存储图的深度优先遍历。 函数接口定义: void DFS(MGraph G,Vertex v); 其中MGraph是邻接矩阵存储的图,定义如下: #define MaxVertexNum 10 /定义最大顶点数/ typedef int Vertex;/* 用顶点下标表示顶点,…

机器学习 面试/笔试题(更新中)

1. 生成模型 VS 判别模型 生成模型: 由数据学得联合概率分布函数 P ( X , Y ) P(X,Y) P(X,Y),求出条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)的预测模型。 朴素贝叶斯、隐马尔可夫模型、高斯混合模型、文档主题生成模型(LDA)、限制玻尔兹曼机…

Linux网络编程2-多进程和多线程版本服务器

Linux网络编程2-多进程和多线程版本服务器 1.套接字相关函数的封装wrap.h wrap.c2.支持多并发的服务器3.多进程版本分析4.多进程版本实现5.多线程版本分析6.多线程版本实现 1.套接字相关函数的封装wrap.h wrap.c 像accept,read这样的能够引起阻塞的函数&#xff0c…

【重拾C语言】五、模块化程序设计——函数(定义、调用、参数传递、结果返回、函数原型;典例:打印字符图形、验证哥德巴赫猜想)

目录 前言 五、模块化程序设计——函数 5.1 计算三角形的重心 5.2 函数 5.2.1 函数定义 5.2.2 函数调用 a. 函数调用的形式和过程 b. 参数传递 值传递 指针传递 c. 函数结果返回 5.2.3 函数原型(先调用后定义) 5.3 程序设计实例 5.3.1 打印…

C/S架构学习之TCP的三次握手和四次挥手

TCP的三次握手:一定由客户端主动发起的,发生在建立连接的过程中。此过程发生在客户端的connect()函数和服务器的accept()函数之间。第一次握手:客户端向服务器发送一个带有SYN标志的数据包,表示客户端请求建立连接。并且客户端会选…

【Python】eval

eval()函数是Python中的一个内置函数,用于将字符串作为代码进行执行,并返回执行结果。 eval()函数的语法如下: eval(expression, globalsNone, localsNone)expression参数是一个字符串,表示要执行的代码。globals参数是一个字典…

3D孪生场景搭建:模型区域摆放

前面介绍完了NSDT场景编辑器的线性绘制和阵列绘制,本章将讲述下编辑器的另一种绘制方式:区域绘制。 1、区域绘制功能简介 在场景中绘制资产时,除使用上述两个的方式外,NSDT 编辑器还支持使用区域绘制的方式进行绘制。先选取需要…

python修改unittestreport中的用例条数

背景: 自动化框架中使用yaml文件作为数据配置,使用ddt作为数据驱动来运行测试用例,由于测试用例都是基于场景去编写,目前都是一个测试类算是一条测试用例,但基于测试报告里面一个类运行的测试方法有多个,因此统计的测试…

计算机毕业设计 基于SpringBoot的图书馆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…