我是开发者 - 小钿博客

一个小开发仔 ~

分类 "默认分类" 下的文章

Mac + iPhone 实现微信跳一跳自动化教程

前言

最近微信跳一跳这个小游戏火爆, 由于朋友排行版的存在, 激发了我们的上(pan)进(bi)心. 除了正常方式爆肝提高分数以外, 也有各种技术宅的非正常手段出来:

  1. 抓包拦截请求, 直接改游戏结束之后, 提交到服务器的分数
  2. 物理外挂, 用机械手指和摄像头, 识别距离, 计算点击时间, 控制机械手指按下去的时间
  3. 利用手机调试模式, 屏幕截图, 识别方块距离, 计算点击时长, 调用系统函数模拟点击屏幕

第 3 种方法相当于第 2 种方法的软件版, 本文用的就是这种方式

ps: 目前方法 1 的提交漏洞已经被修复, 方法 3 特别是方法 2 原理上是模拟人的操作 (代码中有故意随机偏移落地点和停顿间隔), 理论上微信是没法区别的, 但是微信貌似有一套成长曲线检测方法, 如果你的进步曲线不科学, 还是会把你分数清零的

夕甲甲——孔乙己之C++版

OOP代码的格局,是和别的编程模式不同的:首先要有一个构造函数;基类里只定义了函数的形式,可以随时通过派生增加不同的实现。那些程序员们,每每学会了继承和多态,便可以接一个项目,——这是十年前的事,现在至少要懂得设计模式,——靠柜台外站着,写些代码换一个鸡蛋灌饼吃;倘若懂一些多线程的知识,便可以在鸡蛋灌饼里加火腿肠,或者里脊了,如果懂得语言的实现原理,那就能做一些底层代码的优化,换一盘炒菜。但这些程序员,多是初级水平,大抵没有这样深入。只有懂得内存模型的,才能接一些底层的项目,打开调试器和剖析器,慢慢的坐着优化代码。

我从十二岁起,便在村口的githoverflow工厂里当学徒,师傅说,我逻辑思维太差,怕学不会静态类型语言,就写些shell脚本吧。shell脚本虽然容易写,但语法容易含混不清的地方也不少。字符串和数组的功能很弱,条件判断的语法也很奇特,有时要对特殊字符手动做两重转义,然后通过。在这种情况下,写脚本也很为难。所以过了几天,师傅又说我干不了这事。幸亏荐头的情面大,辞退不得,便改为专管测试的一种无聊职务了。 

在 NetBeans 中打包 Maven 项目的两种方式

在 NetBeans 中打包 Maven 项目的两种方式

一、生成主 jar 和依赖 lib 文件夹

这种方式构建出来的 jar 包只包含你自己写的代码,而第三方依赖 jar 包都包含在 lib 文件夹里面,运行时需要把 .jar 包和 lib 文件夹放在同级目录运行。

在你项目的 pom.xml 文件中的 project->build->plugins 节点下面添加以下代码 ( mainClass 标签中的内容改成你的项目启动类) :

iOS开发备忘笔记 (3)

一、iOS应用的 UIWindow

各种方式获取的 window:

[UIApplication sharedApplication].delegate.window; //应用的主线窗体, 大部分情况下都是 keyWindow (用 makeKeyAndVisible 设置), 一般提示弹窗什么的都基于它
[UIApplication sharedApplication].keyWindow; //应用当前的活跃窗口, 一般是 delegate.window , 键盘出来后就是键盘所在的窗体
[UIApplication sharedApplication].windows.lastObject; //最后一个window, 一般是最上层的窗体, 可能是主程序视图, 也可能是键盘或者其他小浮窗什么的

自己新建 window:

  1. window 对象释放 窗口即释放, 所以对象要全局保存
  2. window 设置BackgroundColorclearColor, 或者opaque = NO还是点不到下面的window, 除非设置alpha = 0

iOS开发备忘笔记 (2)

  1. 不能改优先级为UILayoutPriorityRequired (1000)的约束

  2. heightForRowAtIndexPath没有被正确测量cell的高度时,cellForRowAtIndexPath可能会被不必要的调用,即不可见的cell也会被调用。如果正好数据量很大,会导致性呢个严重下降。

  3. present出一个背景可透明的viewController

     if (IOS_VERSION >= 8.0) {
         vc.modalPresentationStyle = UIModalPresentationOverCurrentContext;
     }else{
         self.modalPresentationStyle = UIModalPresentationOverFullScreen;
     }
     vc.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
     [self presentViewController:vc animated:YES completion:nil];
    

隐藏