搞了一个像素游戏,很小的游戏。里边的文字也不多,找个像素字体太费劲,还有版权什么的信息,就想之前看过字体数据转像素矩阵的代码。搜了一下,发现直接有点阵字体,找了代码试了一下,完全可用。 我将字体转成像素矩阵后,可以直接按像素大小把字给画出来,非常方便了,就是计算稍微多一点。 HZK16字库是符合GB2312国家标准的16×16点阵字库,HZK16的GB2312-80支持的汉字有6763个,符号682个。其中一级汉字有 3755个,按声序排列,二级汉字有3008个,按偏旁部首排列。 我们在一些应用场合根本用不到这么多汉字字模,所以在应用时就可以只提取部分字体作为己用。 HZK16字库里的16×16汉字一共需要256个点来显示,也就是说需要32个字节才能达到显示一个普通汉字的目的。 我们知道一个GB2312汉字是由两个字节编码的,范围为0xA1A1~0xFEFE。A1-A9为符号区,B0-F7为汉字区。每一个区有94个字符(注意:这只是编码的许可范围,不一定都有字型对应,比如符号区就有很多编码空白区域)。 下面以汉字「我」为例,介绍如何在HZK16文件

Continue

查询语句里有个子查询,有个括号,然后就报错 unexpected token:( 发现这个异常没法查问题,就找了找跟JpaRepository子查询相关的。 有两种解决方法: 一种是@Query(value="select * from user where name like %?1" ,nativeQuery=true) 添加一个nativeQuery的参数 第二种方法是支持的是JPQL,但是我写的那个sql是不支持的。害

Continue

最近在考虑自己职业长远发展的问题,有时候想起来就会思考一会儿,也是零碎的东西。标题是个瞎起的题目,只是想起之前有个领导送了一本书,讲程序员的软技能的,好像关于职场发展的,我也没看,倒是现在可用翻出来看看了。 我觉得我做事属于很果断的了,但是发现思想上还是很多纠结的事情,而回过头想想这些纠结的事,又不值得一提,不如一步一步做来的实际。自己跟自己的思想pk了无数次,最后就是说服了自己这条路不行,然后领选一条,又是自己不喜欢的,或者又是一轮pk又不行。这个喜不喜欢也是个问题,就是应不应该选喜欢的,还是变成一个眼光看待。 我先自己定义一个: 硬技能就是属于完全技术上的技能了。这块想了很多,想去研究源码,然后自己实现简单的,自己就会去想这种东西做了没啥用,折腾了以后也不会做这方面的工作。然后其实细想,永远不做就是永远不会涉及这方面的工作。大部分都是想研究然后浅浅的研究研究,也并没有深入。广度现在变的很广,基本做啥,用啥都可以,但是从头去实现一个,不是不能做,但是一直会缺乏经验。所以这个在以后的发展很是问题。 软技能就是非技术上的技能,包括生活上的。生活上的我在

Continue

远程办公啊,自己笔记本没有配置公司vpn,还要现搞。 系统偏好设置-网络-添加vpn,然后选择L2tp,填写配置后连接提示 共享密钥丢失的问题 网上找到解决方法。 sudo vim /etc/ppp/options 内容: plugin L2TP.ppp l2tpnoipsec 然后连接就可以了

Continue

Java真特么的坑,一边是对象Interger,一边是int等数据结构。之前感觉还挺有用的。现在我发现基本项目里都只用对象类型,然后我也就都用这个。 想实现的功能就是Date类型的数据的减两分钟,然后把秒置0的操作。 // 日历类型操作,Date的set方法现在都废弃不用了 Calendar calendar = Calendar.getInstance(); //设置秒为0 calendar.set(Calendar.SECOND, 0); // 减去一分钟 calendar.add(Calendar.MINUTE, -1); // 转成Date类型 Date timestamp = calendar.getTime();

Continue

我要做一个东西,在spring boot的@requestBody里传了一个json数据,其中有个timestamp的字段,需要转换称java Date类型。 搞个半天我还以为成功了,然后突然发现是特么的1970年的年份,就感觉可能截断了。 搜了一下发现是需要毫秒的单位,乘了1000还是不行,后来又找了很多方法,以为只能重新写json字段解析的反序列化函数单独搞。 然后发现一个是回答的必须long型的,然后试了一下就成功了。。。 java.util.Date time=new java.util.Date((long)timeStamp*1000); time=new java.util.Date(timeStamp*1000L); Date time = new Date(TimeUnit.MILLISECONDS.convert(unixTimestamp, TimeUnit.SECONDS)); 直接改了set属性的方法就可用了

Continue

刚加完班,想想这几天学的东西挺多的,虽然都是皮毛,但感觉还挺有成就感的。 公司刚走了俩领导,留下一个坑项目,我也是刚知道。三个人开发了一年啥没开发出来,然后现在到了交付时间了。忙的从四川分公司调了俩个人。说是想三个都裁掉,然后产品说那就没人干活了,然后还把我调过去帮忙写。 项目是spring boot的,我想想我用Python写,一个是以后还得我维护,二一个,权限什么的都不好做,开始我就想只做做边角功能就行了。然后发现分给我功能不属于边角,只能Java写了。 分工还有问题,本来应该写方法的,一个流程下边的,分给俩人做,这种技术上不行,工作效率上也不行。 我这几天看了几本Springboot实战的书,基本一掠而过。知道都是什么,然后看了文档里边的几个例子,就上手写代码了。 项目代码也没有太成熟,用了一个什么renren开源的库,我问过我单独写一个模块,就见了一个Springboot 服务,都用的官方默认的模块。注册服务那里用了公用的pom之后,折腾了我一上午没搞定,我就使用官方文档推荐的starters,分分钟搞定了。 Java静态语言,又是成员变量必须p

Continue

ipmitool -I lanplus -H 5.5.5.140 -U root -P mima2019 chassis status 报错:Error: Unable to establish IPMI v2 / RMCP+ session 加-v也看不出什么。网上搜到 iDRAC设置里---网络---ipmi设置--启用LAN上的IPMI就可用了。 本地命令也可以操作: ipmitool lan set 1 access on 但是没找到,本地显示这个状态的方法 lan print里也没找到

Continue

豆瓣竟然有网友用我的脚本了,还希望我加个次数限制,所以升级了一下,刚看到,复制到博客里了。 // 检查间隔 var interval = 30000; // 是否开启提醒计数,0关闭,>0为几次停止 var open_count = 4; // ==UserScript== // @name 豆瓣豆油提醒脚本 // @namespace http://0x55aa.com/ // @version 0.2 // @description 豆瓣豆油提醒脚本,来豆油后进行弹窗提醒! // @author 0x55aa // @match https://*.douban.com/* // @grant none // ==/UserScript== (function() { 'use strict'; // 检查间隔 var interval = 30000; // 是否开启提醒计数,0关闭,>0为几次停止 v

Continue

写这个完全是临时起意,也没好好总结。周六早晨醒了就没睡意(果然影响能不能起来床不在困不困,上班适合就很难起来了),刷朋友圈看了之前大牛同事发的炒股相关的文章。有点想炒股,想跟着他脚步炒股,但是让我把想法压下去了,他这也是一种造势,等越有名气了,造势也就越成功了。 然后看群里之前被他坑了我的某币圈大佬的手下独立出来搞交易所(下边说),发新币。有人发了一篇文章说看了蓝皮书,币多好(这种的是以白名单的诱惑,免费让圈里的资讯大佬造势)。然后我看了一下规则,去关注官方公众号,下载蓝皮书报错(因为公众号写的版本低了,下不下来)。群里跟他们喷了一会儿,都被我说的哑口无言,还是不承认官方规则有问题,, 首先我不排除官方想真正做好,而不是搞的跟之前的交易所一样。 他们本来跟之前交易所是一家的,现在感觉还是一家,之前的名声没办法挽回了,或者说挽回成本太大,不如新搞一个。原来的用户群免费发广告,不收服务费,这么成熟的交易所技术就白给了。可见不是一般的”独立“ 开始各种优惠政策,五折btc,虽然量不多,也是实打实的钱,争先恐后的宣传去得名额。让所有人都急红了眼。看着别人拿着钱稳赚,自己心痒痒。

Continue