简单记录一下今年到现在为止的变化
(上图代表我今年俨然还是那个搬砖小能手)
今年是异常艰巨的一年 , 因为总所周知的原因 , 整个社会都陷入了以往不能想象的生活状态 . 今天是2020的最后一天 . 希望即将到来的2021能恢复如常.
光荣在于平淡,艰巨在于漫长
致力于DAsm+C,MASM
简单记录一下今年到现在为止的变化
(上图代表我今年俨然还是那个搬砖小能手)
今年是异常艰巨的一年 , 因为总所周知的原因 , 整个社会都陷入了以往不能想象的生活状态 . 今天是2020的最后一天 . 希望即将到来的2021能恢复如常.
博客很久没捣鼓了 , 全网https时代口号都喊了那么多年 .今天花点时间响应一下 “号召” .
vps仅使用ssh+key登陆
每次查看登陆日志 , 就发现vps每天收到几百次匿名登陆请求 , 虽然无伤大雅 但是看到也烦 . 干脆禁止掉账号密码 改为密钥登陆好了. linux系的服务器修改为密钥登陆非常简单:
0x00.生成ssh密钥
win下随便使用cygwin或者openssh , 或者任意一台mac 或者 ubutun桌面系统里 执行如下命令:
ssh-keygen -t rsa
如果一切按默认参数的情况下 应该能生成两个文件:
id_rsa (密钥) id_rsa.pub (公钥)
这两个文件文件一般在 C:\Users\xxx.ssh , 或者 ~/.ssh/ , 请保存好这两个钥匙文件. 保存到不会被误删的地方.
Unity项目开发笔记(十七)
从业以来,数次踩中编码的坑, 这次又马失前蹄 , 真是事不过三此非彼白.
本来这个小问题不打算拿出来说 , 但是翻看谷歌发现若干年前也有寥寥数人遇到碰到这个问题 ,而且都并没有给出一个可行的解决方案 ,现在问题依然挂在CSDN等地方 , 似乎不会再有人去回答了, 或者其实题主们后面解决了但并没有回头来提供解决方案. 现在由我来”终结此贴”
0x00.使用SHBrowseForFolder选择文件夹
(大段代码来袭 , 不想看可直接拉到底看关键的几行)
底层接口 – 选择文件夹相关
Tips: 让UE4支持Json嵌套 (How to Support Nested at UE4)
UE4项目开发笔记(三)
开UE4的坑已经五月有余,这五个月里用各种姿势躺过不同的坑,有横着躺的;有竖着躺的;有睁着眼躺的…Orz…
这周躺了一个老坑,此坑在Unity也被蹂躏过一次.(别以为换了皮肤我就不认识你了 ( ╯□╰ ))
0x00. 基础知识
简单唠一句 , UE4在自己的反射机制之上实现的JSON 序列化反序列化 . 并非使用目前主流的任何JSON C++库.(libJson jsoncpp jsonFx rapidjson or other else..)
0x01. 问题再现
项目里几乎所有数据都使用了Json,用户生产的数据使用Json保存,网络请求数据使用Json往返. 由于小伙伴们设计的数据结构实在复杂 , 不免产生各种复杂的结构体 , 例如:
TMap < FString,FString > mapFF; TMap < FString,TArray < FJsonStruct1 > > mapFTA; TMap < FString,TMap < FString,FJsonStruct1 > > mapFTM;
以上三种数据变量 ,mapFF 是一个普通的字典变量 , 这个在UE4里是没问题可以正常, 在大多数UE4支持的UPROPERTY变量中 通过 FJsonObjectConverter 序列化和反序列化的.一般的处理方式是这样的:
Unity项目开发笔记(十六)
目前产品在Unity端的开发任务已经趋于平稳 , 但是依旧达不到”非常稳定”的状态 , 随着用户量的增加 , 在复杂的PC网络和设备环境下 每次迭代版本都会频频中坑,这不 这次中招的是WWW和UnityWebRequest.
0x00. 基础介绍
我们知道现在的Unity (Mono2.0 + .NET 3.5) 在不增加第三方插件的情况下 有三种HTTP请求方式:
以上三种请求方式各有优劣:
WWW 主要是封装得比较便捷 , 下载AssetBoundle Texture等比较方便 省了转换和加载的过程.
UnityWebRequest 主要是更加接近于 HttpWebRequest ,但是参数设置又比 HttpWebRequest 省事一点,适用于项目的大批量API实现 , 使用UnityWebRequest 可以比较自由的添加各种网络数据传输方式和格式.
HttpWebRequest .net框架自带 ,属于三种方式中自由度最大的 , 但是缺点也很明显 各种参数设置必须了然于胸 .
UE4项目开发笔记(二)
UE4大约有500W行的代码,如果UE4项目编码使用VS的话 , VS很多好用的代码快捷功能会有严重的卡顿感.万幸VX插件毫无影响!所以下面简单罗列一下我这十年间使用VX插件的小糖果 (●’◡’●) ,
(没错, 我使用VX已逾十年!)
注: 小番茄助手 = Visual Assist Options
助手官方网站: 传送门
PS 价格: 99刀 一年更新权限 + 单版本永久权限. (推荐)
PPS 其他获取方式自行谷歌
目前这个工具对VS上编码几乎达到了无缝支持 , 下面简单介绍几个如虎添翼的功能:
UE4项目开发笔记(一)
我们这代人呀
从Flash到cocos,再到Unity 最后入坑UE4 (Unreal Engine4) ;
从页游到跨平台手游再到细分市场;
从ActionScript到C/C++ lua C# Java OC 兜兜转转,最终又回来捣鼓C++;
这不,开始开UE4的坑了.
工欲善其事,必先利其器 , 容我先推荐几个基础设备.
项目开发笔记(十六)
Comeing Soon
项目开发笔记(十五)
我以为我早已经摸透各种编码,各种开发语言转码早就可以写得666,但是这次填坑真的把人虐得欲罢不能.这次的事情有比较苛刻的前提条件,所以不一定适用于通过搜索找到此文章的各位遇到的类似情况.
先说说项目基本情况:
Client: Unity 5.3.4 (C#开发逻辑,Java OC原生开发支持,iOS下iL2CPP编译模式) Server: 纯C++开发的服务器,PHP辅助
0x01. 引发的GBK编码问题
这个项目的网络数据的全部中文都是走GBK格式,数据到了客户端在iOS下所有中文均显示乱码.在 PC和Android下正常
关于编码问题有一篇经典文章 – 字符编码笔记:ASCII,Unicode和UTF-8
这个项目是一个超过十年的老项目(我主要负责移动客户端的实现),服务端使用纯c++开发,服务端底层架构和所有模块已经正常运行十年以上.导致遇到很多问题只能是客户端去适应服务端.所以不可能让协调服务端直接修改数据格式.
0x02. 使用I18N.CJK.DLL库
一个被提及最多的GBK格式数据在iOS iL2CPP模式下的转换方案是: 在link.xml中添加配置防止I18N.CJK.DLL被裁剪.配置方式为:
需从Unity安装目录 Editor\Data\Mono\lib\mono\unity 或 Editor\Data\Mono\lib\mono\2.0 两个目录中,拷贝I18N.DLL 和I18N.CJK.DLL到项目目录Asset文件夹下,在Assets根目录下添加link.xml文件,其内容如下:
但是我反复测试,这种方式在我当前的环境下(Unity 5.3.4,iOS,iL2CPP,Mac Pro,iPhone7P)一直是失败的.
项目开发笔记(十四)
最近几个月发生很多的事(工作之外),很多很多的事。工作上比较重要的事情还是需要好好记录,接下来说说Jenkins的配置流程(拖了几个月了其实),Jenkins在工作中给予我很大的帮助,到今天为止 Jenkins 已经帮我打包了200+个版本。每打包一个版本就相当于节省我20分钟的人力时间和沟通时间。自从有了Jenkins,我和公司的测试策划基本零交流,什么时候版本出来了一个邮件自动发送到他们的邮箱中。接下来他们爱测不测我不管。
我配置 Jenkins 的基本信息
- 工具信息 Download - https://jenkins.io/ Version - 2.32.2 OS - Win1064 desktop - 项目信息 version - Unity534 OS - PC/Android/iOS
下载Jenkins的时候请注意有两个版本Long-term Support (LTS)和Weekly,我们普通玩家就下载Long-term Support (LTS)即可。