(2020/05/14) initialize mechine, code
#
(2020/05/14) initialize mechine, code (2020/05/15) build error,copy过来的output编译错误,还是需要在自己的机器上重新编译 (2020/05/18) 处理各种编译问题,终于在笔上正常跑起来了. (2020/05/19) 刷了15的固件,看代码,基本知道整个笔的大概流程,后补流程图.发现好几处UI显示问题.同时学习了Qt中多语言的处理,用Linguist生成ts文件,翻译后生成需要的qm文件 (2020/05/20) 又刷了19的新固件,需要整机刷.
- 编译push后进程不断重启: 可查看/userdata/applog中的日志确定重启原因,如
channy@huangqianni-PC:~/Documents/YoudaoDictPen$ terminate called after throwing an instance of 'opencc::FileNotFound' what(): /openccconfig/config/s2t.json not found or not accessible.
应该是 (2020/05/21) 又发现了几个bug. QWidget的removeWidget一定要慎用,因为对应移除的widget不会立即消毁,会发生重叠现象;一般会在后面增加delete xxx或deleteLater(),但对应的子控件需要慎用,有可能会是野指针。 (2020/05/22) 看了一下Qt的动画相关类,打算周末学习并整理一下写个笔记。然后。。。突然在某次make完后push时adb出现了问题 ``` $ sh ./pushYoudaoDictPen.sh adb: error: failed to get feature set: insufficient permissions for device: user in plugdev group; are your udev rules wrong? See [http://developer.android.com/tools/device.html] for more information error: insufficient permissions for device: user in plugdev group; are your udev rules wrong? See [http://developer.android.com/tools/device.html] for more information
$ adb shell error: insufficient permissions for device: user in plugdev group; are your udev rules wrong? See [http://developer.android.com/tools/device.html] for more information
惊不惊喜?意不意外?adb抽风了。。。重启一下就好了
adb kill-server sudo adb start-server
然后Qt下ibus依旧输入不了中文的问题,需要在/etc/profile下增加
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus export QT_IM_MODULE=ibus ``` 又学到了一个vim命令,修改完文件后才发现不是用的root没有修改权限, :w !sudo tee %
(20200525) 还是在看代码 (20200526) 开始接触韩中词典 (20200527) 基本页面 (20200528) 调整显示效果 (20200529) 又改了显示,发现几个问题,1. 显示加了上标1会导致不居中,原因未知,待查;2. 有时查词会一直显示正在翻译中,或查词结果不是预想的语言,非必现,待验证。
(20200601) k2e,e2k的Xml解析,用的QXmlStreamReader (20200602) 把xml解析提取整理到一个类上 (20200603) 自测。 (20200604) 注意代码格式与他人保持一致 (20200605) ……
(20200608) (20200609) (20200610) (20200611) 产品一直电话,沟通效率低 (20200612) 今天才拿到新的字典库(然而还是有问题),根据新的格式修改xml解析
(20200615) 等待产品出文档,期间想写个程序统计字典库中的所有标签的,太费时,周末修改 (20200616) 根据与产品讨论的点滴修改英韩词典的实现 (20200617) 同上 (20200618) 产品确定了英韩显示,实现 (20200619) 自测,数据量大导致详情页渲染慢,暂时没有找到优化方案。师父说可以等拉到底部再进行渲染,可是没有找到相关信号哦~
(20200622) 1. 英文需要区分大小写;2. 翻译和查词逻辑判断真的很混乱;3. 下拉到最后再进行渲染,父类的QBackgroundButton重写了鼠标响应事件,当有drag时判断是否是最底部,是则渲染新内容并刷新。
(20200623) 发现代码里处理单词变形的stemWord有问题,ces结尾的应该是ce+s吧,为什么把es去掉了?oes结尾的可能是o+es也可能是oe+s啊,为什么只考虑一种呢?不想改~不听不听和尚念经~
(20200624) 上午没开发任务,下午产品说又要改~~~
(20200628) 没任务~ (20200629) 没任务~ (20200630) 修改韩语版分词逻辑,然后下午产品又双叒叕改需求了,3次。 (20200701) 修改ui,自测 (20200702) 分析韩中词典部分文字不显示的问题。 (20200703) 修改几个显示小问题,1. 翻译页面;2. 关于页面;3. 翻译.ts文件。然后发现.ts文件有坑,遇到换行的时候linux下编写无效,换windows编写能换一行,换不了多行
(20200706) 开机动画不是我们的,怪不得找不到~都没有QSplashScreen。修复了中/英查词没结果时走翻译。over~ (20200707) 又是没有任务的一天~ (20200708) 修改bug (20200709) 需求一天一更,呵呵哒~ (20200710) 没任务~
(20200713) 没任务~ (20200714) 没任务~ (20200715) 英文单引号改成不可点击 (20200716) 没任务~ (20200717) 开始修改ui
(20200720) 继续修改ui。发现设置的行高和默认的不一样导致显示效果不一样。 (20200721) 还在修改ui。基本改完。 (20200722) 发现两个问题。1. SoundCenter在某些文件上无法发声,在主文件如PenFrameWindow又可以。2. 信号槽没反应问题,ReadingAnswerPage里面的返回button。后续有时间再研究。 (20200723) 小case研究,发现对于祖传代码需要特别注意重写的控件类,可能有坑。。。 (20200724) 解析点读题目及结果 (20200725) 修改点读结果页
(20200727) 答题集,点读 (20200728) 点读ui (20200729) 结果页面渲染模式,字体及文字的设置顺序会影响显示效果 (20200730) ui适配 (20200731) 回我亲爱的广州~
(20200803) ui适配大屏。遇见的第一个问题:显示一片背景色。。。可能原因:1. 颜色检查;2. widget的大小不对,如果设置了FixSize,当子控件过大时会不显示; (20200804) 同上,遇见的第二个问题:gridLayout显示子控件会有遮挡。。。可能原因:子控件大小、gridLayout的spacing (20200805) 同上,遇见的第三个问题:标题不居中,QSizePolicy::Expanding也不生效。。。可能原因:有隐藏的控件,问题是看完整个代码还是不知道这个隐藏控件的作用是什么。。。坑。。。 (20200806) 终于改好了。。。在一次次的调试中,记住了adb shell mount -o remount,rw /这个命令哦㖿~ (20200807) emmm…其实在看Qt调用mupdf的内容。。。 (20200808) 第一次接触ocx,控件?
(20200810) 再一次证实了gridlayout不会自动调整大小,至少按pen中的写法不会。 (20200811)
- 扫码,返回会返回到MoreFuncWindow,挂
- 扫码,答题,挂。question的码对应的数据需要和对应book相关的信息,如bookname?用于查找该题对应的book的题集。并且目前的两个book数据格式不一样。。。 (20200812) 试了下在词典笔上显示QSlider和QCheckBox,失败。。。怪不得其它的控件都是重写的。。。 (20200813) 重写了个slider,还好成功了,信心满满的~虽然没什么x用。。。 (20200814) 等数据
(20200817) 等。。。 (20200818) 时间戳 (20200819) ui,语音 (20200820) ui,语音 (20200821) 断点
(20200824) 改ui (20200825) 改小界面ui (20200826) test and fix bugs about reading pages (20200827) same as above (20200828) moving to new offices
(20200831) word动画 (20200901) word动画 (20200902) bug fix. (20200903) 没任务~ (20200904) 今天又是没有任务的一天~
(20200907) 没任务 (20200908) 点读bug (20200909) 点读字幕一句多行超出屏幕时滚动问题 (20200910) 点读ui问题 (20200911) 点读答题页问题
(20200914) 二代古汉语词典 (20200915) 古汉语词典done,mp4动画显示二代done (20200916) mp4动画显示三代failed~ (20200917) 拿到古诗词词典数据 (20200918) 开始开发古诗词词典
(20200921~25) 古诗词词典,没有需求文档,需要各个细节跟产品确认,耗费时间。数据一直有各种没考虑到的情况,修改了多次,直到周二下班前才拿到最终数据。其它用时比例大于开发用时比例。
(20200927) 假期前没任务系列~ (20200928) qt动画 (20200929) qt简单动画 (20200931) 假期前不想动脑系列~
(20201009) ui.发现一个坑,addWidget后不居中,layout设置了AlignHCenter也没用。。。为了爬坑,源码还是要看的~ (20201010) connect有信号但是不响应可能还有一个原因, installEventFilter的源和目标控件都重写了响应函数的话,工作的代码里是出现了各种各样的情况,有只A的,有只B的,有先A后B以先B后A的。现象是点击事件时而有效时而无效。
(20201012) 调了一天的ui,居中问题偶然间调好了,原因未知 (20201013) 点击事件不响应问题,怀疑是坐标问题,没找到根本原因。QIconTextButton只有一个图标没有文字的情况下,如果图标大小和整个icon大小相同的话,极其容易出现点击事件不灵敏的情况,改了大小后从现象上看貌似能解决问题,然而。。。我不信是大小的问题。。。 (20201014) 请假办证 (20201015) 无任务 (20201016) 开始接触vs+c#
(20201019) c#基本语法学习 (20201020) vsto基本架构学习 (20201021) windows api学习 (20201022) outlook api学习 (20201023) 参考word add-in开发简单版outlook add-in
(20201026) outlook add-in基本成型,还存在一些小bug,如export界面邮件和非邮件的处理 (20201027) 修复小bug (20201028) 修复Outlook多窗口批改结果串位问题 (20201029) 修复Outlook文档定位问题 (20201030) 自测
最近半年中前期主要参与了词典笔的开发工作,主要包括词典笔二代新增词典(中韩韩中词典、古汉语词典和古诗词词典)开发、根据需求优化汉语词典展示逻辑和分词逻辑、词典笔三代ui适配、词典笔点读部分功能辅助开发。有需求文档或需求说明的均已按照需求开发完成。由于词典笔开发的环境和语言都是本人所擅长的c++&Qt&Linux,并且词典笔可用内存只有不到1G的空间,硬件要求了词典笔的各种数据处理和展示都需要综合考虑时间复杂度和空间复杂度,能够很好地发挥本人对各种算法熟悉并有足够的兴趣进行深入研究的优势。自认为完成的开发工作能够跻身于中上水平的位置,即中间70%。 后期主要参与了Outlook批改插件的开发工作,当前基本功能已经开发完成,但由于环境从熟悉的c++&Linux转到不熟悉的c#&Windows,插件的打包还遇到一些问题正在进一步研究中。好在本人学习能力及适应能力强,用了一周的时间学习掌握c#的基本语法和vs开发环境的部署。总体表现自认为处于中间70%的位置。
- 工作质量18。能够在开发前期进行代码架构,综合考虑各种未来可能出现的扩展并编写相应文档。如词典笔开发过程中能够充分考虑到多个词典展示时可能的优先冲突情况,然而可能这种代码架构思维和有道的工作方式相冲突,据观察有道更倾向于只考虑当前需求的做法,代码架构被迫中断。
- 工作效率20。对自己熟悉的词典笔开发环境,能够做到大多数分配的任务都在ddl之前提前完成。
- 团队互助15。 由于各种主观的客观的原因,自认为个人在团队互助方面还有比较大的提高空间,需要进一步努力。
- 追求完美,挑战自我10。 注重代码的可扩展性,主动进行代码架构,虽然最后在外部条件的影响下以失败告终。但对自己的表现问心无愧。
专业能力方面,进一步加大对各种算法的学习,同时主要侧重点放在提高时间复杂度和空间复杂度即代码优化上。 沟通方面,尽量以委婉的语言而不是直来直去的语言沟通。
- 补充书本知识。特别是底层代码编译运行的各种细节知识。计划读物《汇编》、《编译原理》、《内存管理》等。
- 涉猎新兴技术。如人工智能等。计划项目kaggle.
(20201102-06) Outlook打包探究。
(20201109) c#生成的动态库,打包时一定一定要带上。缺少动态库或者动态库版本不对的情况下,插件在别的机器上只会报崩溃,然后被禁用,除此之外没有任何提示。。。 (20201110) Qt的默认配置文件是ini,c#的默认配置文件是xml,vs中,配置文件会自动加上.config,即, (20201111) 修改弹出窗口的位置问题,outlook的窗口没有GetPoint等函数进行输入光标定位,只能用winapi+估算了。GetCursorPos是获取鼠标光标的位置,GetCaretPos看起来像是获取输入光标的位置。 (20201112) 研究Advance installer创建定制安装包。 (20201113) 研究C#的Hook,鼠标钩子和键盘钩子。
(20201116) keyhook发现一个问题,其它窗口下输入都有log,唯独在Outlook窗口下没反应。。。 (20201117) WH_KEYBOARD有回调会调用多次,WH_KEYBOARD_LL对目标窗口的输入不回调,对其它窗口的输入回调倒是正常得不能再正常了。勉强把keyhook回调调好了。。。 (20201118) 开始写键盘回调,然而发现输入快了会崩,原因未知,待查。。。增加、删除、替换,逻辑还没理清。 (20201119) 键盘回调,多线程 (20201120) 键盘回调
(20201123) 增加批改入口 (20201124) 发现原有的designer模式不支持inline tab,需要修改成xml模式 (20201125) 没查到xml模式怎么在运行过程中判断ribbonId (20201126) xml模式只Load一次,getCustomUI只在有新的ribbonId时调用一次,导致原来的所有逻辑都行不通了 (20201127) 修改窗口切换逻辑
(20201130) 把窗口切换改好了,又遇上一个mailItem的GetInspector失败的问题。。。 (20201201) 调了N久,最后还是发现版本支持问题,outlook 2010及之前的版本没有内嵌邮件和弹出功能,2013后才支持,导致不管用2010还是2007都不能很好地支持outlook的高版本 (20201202) 把所有能控制的功能都改成弹出新窗口了 (20201203) 安装崩溃调了一整天,结果发现是配置文件没写好 (20201204) 又是无法重现的崩溃
(20201207) 发现新大陆:dnSpy可以在没有源码的情况下调试c#程序集^.^于是发现,grammarly不管是代码架构还是代码量,都比我们好简直不要太多~ (20201208) NetOffice.dll可以解决outlook插件支持多版本的问题 (20201209) 看起来vsto改com可行 (20201210) 全部改成com addin (20201211) 打包问题。RegAsm.exe可以直接注册,RegAsm.exe xxx.dll /codebase 删除RegAsm.exe xxx.dll /unregister
(20201214) 写开发文档 (20201215)