8 hjs 3周前 288次点击
话说各位大佬或者新入坑的坛友们,觉得编程最难的部分是什么?没事,从你们的角度出发,无对错。
先说我自己吧,我就是属于那种在比较小的时候接触过这种东西的。已经过了三四年吧,现在我感觉最难的就是各种函数的调用,还有算法。这里的函数包括语言自带的一些功能函数,还有系统的api。现在语法对于我来说已经很简单了,其实学过一门语言,思维转变过来就会发现,语法这个东西就是一套规则,很短的时间就可以掌握,无非就是有的语法经常使用会记得更清晰,有的语法在长时间的没有使用的情况下会忘记。
现在对于我来说,改造代码,就是让一坨看上去非常臃肿的代码变得更清晰更少,这是一个比较难的问题。还有就是架构啊,架构我现在也不会,嘿嘿。像他们说的各种模型架构,什么乱七八糟的,都不会。然后接下来就是我说的算法,因为算法确实非常难,既有数学能力,还要有逻辑能力。算法这个东西,我个人觉得只能慢慢看,因为你看一遍是不会认识他的。算法的代码量其实并不多,像很多教材的排序算法,还有各种算法基本都他们看上去很短小,就是一个很短小的函数,或者是一个方法。而且他的每一行代码你都认识,但组合起来你就不知道。为什么要这么做呢?你会冒出各种各样的问题,并不限于。这么做内存会溢出吗?这么做数组的下标是怎么变化的?这么做,这个值是怎么变化的?然后再说一说api的问题,这个问题其实不是很难的问题,但收集api是很需要时间的。对于我一个性子急躁的人,翻文档找api非常的麻烦,所以我会询问ai,但懂得都懂ai的准确率有的时候有点低。
所以你们心目中,编程哪里最难?欢迎在评论区留言哈。
我是个小白,来学习的,感谢楼主分享自己的感悟。
没啥感悟,我也是小白,我只是顺嘴说说,如果有帮助最好不过了。
你可以手动控制吧,在后端编写一个后端程序。如果你说的是公共的api,比如说讯飞或者第三方的语音合成的话,那他们不会出现这种情况,他们会统一返回的啊。但如果这是你自己的,你可以在后端写程序啊,让他返回指定的格式。加密解密都靠你自己来决定。
你用的是Java吗?或者是.net框架,但是不像后者,应该用的是Java对吧?
我不太清楚你用的那套框架是怎么发请求的,如果是缓存区的话,那就只能放到缓存区里,然后你就读出来。如果不及时拿出的话,缓存区会被重新填满,如果不覆盖,只有一直往里写入的话,容易缓冲区溢出。
那你这样的话就只能根据情况处理了
可以把一些通用的动作封装一下,不通用的,比如处理不同格式的动作,单独用方法
其实像那种那种怎么说呢,就是那种类似于正式版和公益版的这样的调度比较难。我就直接明说了吧,就是点名安卓,以它来举例,他不是有公益版,商业版,商业版也是正式版吧,还有串号版,其实都是一个app弄的,新人可以体验15天正式版。如果这时候我禁止他联网,我是不是可以卡十几二十几天的正式版呢,所以在这一方面,就是会员和普通用户之间这一方面,这个bug估计比较难,因为你需要在他那个安装包里面弄一些乱七八糟的东西,总之感觉就挺崩溃的吧,我也不知道该怎么说了。
这个,这个可能也真就没什么好办法。本地验证可以解决联网问题,但解决不了篡改问题。当然也可以解决,比如说在私有文件里面写一个体验的结束日期什么的,然后用哈希验证。每一次启动检查有没有体验资格的时候,就检查这个文件的哈希和正确的文件哈希是不是一个?如果是的话,这个文件基本是没有被修改过的。所以正确的文件哈希就需要加密再存储在别的地方。如果是我的话,我会加密。
是的,让他在本地校验确实要好一点,毕竟手机里面,特别是原生安卓里面,都可以禁止单个应用联网。假如我要一直体验点名安卓的正式版,我禁止他联网就行了,但是呢,这样的话又有一个悖论出来了,你要校验那个文件里面的哈希。理论上来说可以,那万一这玩意儿是我的备用机呢,我每天都把时间改为体验正式版的那天,让他一直卡那不动,他一直拿到是错误的时间。这样时间对不上,和自家服务器又连不上,他不就直接原地隔离了。
当然吧,这个还是比较费劲,如果有懂技术的也能干掉,反正也许大概可能可以自定义一个配置文件,在配置文件里写别的二进制位,来辅助确保这个文件。