技♂巧备忘录

想到哪里写哪里,不要联系上下文

写在最前:
win10自带的输入法简繁切换快!捷!键!Ctrl+Shift+F卧槽
找到ThunderBrowser.exe删掉再放个假的文件在同目录搞死迅雷9的浏览器

  • 用一个2位16进制数的byte存储一张牌的数据:

    • 主要方便网络传输,byte不能再小了
    • 用十六进制对应到字节的高低位刚好一个数4位,0F可以表示16种*16张牌数据,反正UNO是够用了~
    • 一个字节低4位是数值,高4位是牌型,或者反过来也没差,取低位&0x0f,取高位(&0xf0)>>4
  • 一个10进制快速转2进制的方法

转自这里
比如 9999=8192+1024+512+256+8+4+2+1
8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1
1 0 0 1 1 1 0 0 0 0 1 1 1 1
结果就是 0010 0111 0000 1111,8个1妥妥的

  • x&x-1将x最小的(最右边)为1的位数置0

    • 奇数减一直接最末位置0,在按位与
    • 偶数从最右侧第一个为1的位置借位下来,该位变成0,后面位数取反,再与原数按位与只有该位之前的没有变,后面包括该位全变成0
  • http协议是建立在Tcp协议之上的????

    • 卧槽这是真的
    • http是在请求完成(或一段时间后)主动关闭了自己的Tcp连接,也就是释放掉了所有状态,所以http是短连接,无状态
  • 鉴于大部分“程序实现的动画"都是基于时间的

    • 对于一组需要有时间差的动画(比如'一次'给一个人发几张牌),不需要定时器一个一个完成,利用循环变量改变time就可以,比如1+i*0.5,最后一个完成的最,而不是开始的晚
  • 拼界面时没用的UI控件怎么办?

    • 不要直接删除!保不齐哪天又有用了!而且UI删了东西脚本里也要删除
    • 像cocos studio这种奇葩即使可见性为false也能点到
  • 直接拖到场景窗口外面去,需要的时候再拖回来咯

  • 寻找判断值是否在数组中,数组长度很短可以试试一条if语句下标展开

    • 本身有短路规则,某一个表达式符合后面的就直接忽略了,等同一个break
    • for语句每一部分都可以写多个表达式,可以同时设置两个变量,一个用于遍历,一个用于统计,其实和写在语句体里是一样的,看起来比较简洁而已(毕竟省了一个break)
    • 一般来说偏向空间换时间的算法,辅助空间开起来不要方
  • 关于居中对齐

    • 寻找中点:mid=(count/2.0f-0.5f),奇偶数通用,每一个元素的位置为下标(i-mid)*offset
    • 奇数的话mid对应正中间元素的下标,偶数是中间两个元素的中间值(没有下标)
  • 循环切换按钮

    static int times=0;++times;times%=count;
    
  • 输出log信息封装到一个函数里

  • 注释掉函数的语句体就可以屏蔽所有的log信息

  • 还可以设定log等级来决定屏蔽哪些log

  • 当然,确定没用的log最终还是要删除的

  • 关于编号

    • 统一编号位数,某些编辑器会将11排在2的前面
  • 能用图片尽量用图片代替text

    • 比如公告板/更新说明之类的一大段话,用一张做好的长图,虽然自动换行不方便
    • 位图字体这种黑科技本质上渲染的是图片,虽然缺少很多灵活性,但是美观高效,极适合用在计时器或是血量伤害上
    • 所谓程序效率,特别是游戏,大量的算法执行不会有什么性能影响,但是大量的渲染有,一次性大批量渲染文字(比如排行榜之类的)很有可能会造成卡顿
  • 一些看到了别方的错误

    • LinkError在@xxx::xxx中
      函数只有定义,没有实现,偏偏这个函数还被调用了
    • 内存0xXXXX不能访问
      对象没有初始化或是对NULL对象进行操作
    • fatal error致命的错误
      • 一般并没那么致命,但确实没有具体的error捕获,不好定位
      • 可能是数组下标越界了,C不对下标越界进行检查,然后强制操作就炸了
      • 等等!C竟然不对下标越界进行检查????
      • 也有可能是内存泄漏,new完没有delete,特别是文件、网络、数据库操作之类的
      • 还有可能是释放早了
    • 界面卡死
      • 除了网络问题,绝壁是死循环了
      • 所以说网络事件特别是接收不要放在主线程里
      • 看看是不是把==写成了=
      • 或者是switch里忘了break了
      • 或者for循环里改变了循环变量的值
  • 一句话

    • 一句话判断两个数符号是否相等:return (x^y)>>31,符号位0为正1为负,与相同为1,不同为0,右移31位只保留最高符号位,为0表示符号不等,为1表示相等
    • /n表示每隔n个数,%n表示从0到n
    • 尽量用乘法代替除法(*0.25 *0.75之类的)
    • 乘/除2的次方可以选择左/右移运算符
  • 关于调试

    Update之类的频繁调用的方法,确定问题的大概位置时应该在if语句中下断点,断点比log有用的多【废话
    当然,统计一个循环次数之类的还是用log
    或者是神一样的条件断点
    dll使用附加调试,先启动附加到的程序,再执行附加
    RemoteDebugger可以附加到远程进程进行调试(VS中)

  • 旁油,你知道ffmpeg吗(笑

    • 还用什么格式工厂哦
    • 录屏:
      ffmpeg -f gdigrab -i desktop -vcodec libx264 -pix_fmt yuv420p -r 15 out.avi
      这句使用gdigrab 库录制全屏(desktop),之后是通用配置:h264编码,色彩空间y420p(保证画面色彩质量的关键,也就是减少花屏),-r 是帧率
      -i title="窗口名"会捕获一个窗口,窗口名是指在任务栏缩略图看到的那个,中文应该是有问题
    • 使用dshow滤镜录屏和录音
      ffmpeg -f dshow -i audio="xxx" -i video=xxx {通用配置} out.avi
      录屏需要安装一个虚拟direct device(摄像头不需要),ffmpeg -list_devices true -f dshow -i dummy 列出所有的direct device
    • 同时录屏和声音
      ffmpeg -f gdigrab -i desktop -f dshow -i audio="麦克风阵列 (Realtek High Definition Audio)" -vcodec libx264 -pix_fmt yuv420p -r 15 outt.mp4
      * 好像只能输出为mp4格式不能是avi,或者也可能是音频编码问题,反正mp3也不能合到avi中,而输出MP4必须指定编码(和pix_fmt)
      * 上面那个麦克风阵列在cmd里list_devices是乱码,保存成UTF8就可以了,注意空格
    • 音频转换
      ffmpeg -i input.mp3 [-ab bit(比特率 32,k为单位)] [-ar rate(码率,8000)] [-ac count(声道数1,2)] output.{format(mp3)} //aac不支持单声道
    • 文件拼接
      ffmpeg -f concat -i "file1|file2|file3" -c copy outfile
  • 关于在此处打开命令行窗口

    本身资源管理器shift+右键可以,在资源管理器中alt+D可以定位到地址栏,再敲cmd(或是其他.exe)都可以在当前目录下运行exe,然后写个
    vbs{CreateObject("Wscript.Shell").SendKeys"%Dcmd{ENTER}"}
    模拟按键,把触控板的按钮绑定到这个vbs就可以一个键在资源管理器的打开位置召唤cmd了对就是因为我懒
    插一句,Ctrl+ESC等同
    释放*win,Ctrl+Shift+ESC可以召唤任务管理器

  • 关于事件查看器

    应用程序-特定 权限设置并未向在应用程序容器 xxxxxxxx用户【xxxxxxx】xxxxxAPPID为【xxxxxxxxx】,这种情况注册表里搜索class_root/appid/{APPID},编辑权限,赋予上面的用户完全修改权限(不行就改变所有者),看一下右边的APP名称,去组件服务里找到这个app,编辑启动和激活,以上用户本地启动和本地激活打勾,这种问题出现的原因可能是以上那个用户的信息被删除了(注册表清理之类的,会在编辑权限时发现产生一个未知用户{})

  • 微信分享的坑

主要是缩略图,微信限制了图片大小(尺寸文件大小),超过的话可能会卡死,也可能会显示不出来,图片宽高如果超过128会被搞成128*128的,比例会变
Android里获取一张assets下的图片(cocos的Resources):
InputStream is = getContext().getAssets().open(fileName);
Bitmap bmp= BitmapFactory.decodeStream(is);
is.close();

  • vmware 里的mac无法通过磁盘工具扩容

借助终端命令
diskutil list
diskutil resizeVolume {diskID} {容量(GB)}
啊其实在磁盘工具那里选择可用空间分区点下面-就行。。。


  • 使用dnsmasq配置局域网DNS

安装brew: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装dnsmasq: brew install dnsmasq

  • 游戏中的语音聊天功能

首先是调系统录音和播放器,Recorder和Player,记得一定要stop()以及release(),否则会因为系统资源分配不足没有声音;
最好录制aac格式,ios好像不能直接录mp3,又比wav清晰
录制完成走http上传至服务器
最好等到上传回调再将客户端的录音按钮再次启用,当然,期间要排除录音失败文件根本没有上传的情况

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容