1.多线程同时写一个文件会出现乱序问题
要不加锁,要不写文本的操作集中一次写完
2.一次奇葩的乱码(明明很熟悉的问题为什么会解决不了呢,想睡又不甘心,又开始熬夜之旅3:18)
一般来说我们设置utf-8就行了,再不行,看看前后端是否都是utf-8,这也是保证前后统一编码也可解决乱码问题。但是这次看了半天怎么都觉得没问题。
理想值: {\"str\":\"哈哈哈哈哈哈\"} 返回值: {"str":"哈哈�� ,看了连接的请求响应头也没发现什么问题,就此将住了。最后突然盯住了Content-Length:16,是不是长度短了,这是字符串长度。其实前面我也有过猜想,随手写了一个数,比实际的大,导致乱码都没了,直接整个请求都是失败。直接抛弃了这个猜想,一系列的研究还是束手无策,最后觉得这个猜想还是可能,按照utf-8编码,这个理想值长度应该是28,然后发现整个天都亮了。这是谁写的框架,连Content-Length都会出错,没错,就是本大爷,哈哈哈,就单独写一个接口,就要用上spring框架和tomcat服务器,我嫌太重了。
3.写具体换行符带来的问题
在window上开发,想用换行符进行切割字符串,于是用了"\r\n",于是,到了linux上你就悲剧了,linu上换行符不是这样的,切割后得到了错误的数组。
正确用法: System.getProperty("line.separator") 跨系统使用
4.后台获取终端的ip时,是不是总是本地ip?
你的部署服务器是不是用nginx代理了,如果是,请依此思路自行解决,nginx有设置代理的地方可以绑定终端ip到你后台request里面去。
5.玛德,调用别人的接口总是乱码?
自己的代码各种设置utf-8,通通没用。使用抓包工具直接看接口调用的结果,发现它们返回的就是乱码。是我没设置请求编码?设置了还是没用。最后发现它们返回的中文部分采用的是unicode编码,是我经验太少还是它们太坑了,玛德,文档也不说一下。
6.今天,我犯了一个人生中很大的错误。
我入侵到别人的后台管理系统了,哇哈哈哈哈哈哈哈。
7.读取resource目录下的文件
本地和linux服务器都可用: InputStream resourceAsStream = MessageEnZhData.class.getClassLoader().getResourceAsStream("message_en_zh.properties"); properties.load(new InputStreamReader(resourceAsStream,"UTF-8")); 我这个是直属于resource目录下。
8.今晚想给自己网站加一个logo图标,请求url总是错误的
以为是自己nginx匹配设置的匹配规则有问题,导致传到后端的url错误,最后发现logo图标这串代码不能放在body里,而应该放在head里面。一顿操作猛如虎,最后抓个小老鼠。这也能耗费我一个多小时?吐血。也不得不批评一下浏览器,我写错了地方你也不要胡乱发个请求啊,让我费解半天,不过也是我不熟悉前端。
我自己写的一个自动划词翻译软件,方便阅读英语文档。下载地址: http://stran.tczs93.com
9.C#总是报 找不到文件或程序集名称“xxx”,或找不到它的一个依赖项
明明有这个dll,就是说找不到,它的版本错误了,本来有dependentAssembly这个可以导向到最高版本,但是不知道为什么不起作用。网上各种方法都尝试了一下,都不行。其实我个人是感觉是它代码引用有问题,但是不知道别人用为啥没问题。熬了三天两夜,实在没办法了。换了个思路,直接将最高版本的dll强行反编译降低它的版本号,这样让其他的地方能引用到,解决。
10.前端CSS文件不起作用?Resource interpreted as Stylesheet but transferred with MIME type text/html
浏览器控制台警告:Resource interpreted as Stylesheet but transferred with MIME type text/html,这是因为加载的css文件类型不对,服务器返回的类型将它修改成了text/html了,只要告诉服务器返回css后缀文件的类型为text/css就好了。