小公司的祖传代码优化难

你以为看到祖传代码已经很悲催,但是有的代码八代单传更悲催,你以为八代单传很悲催,但是发现有的代码断了香火,你以为断了香火的代码最悲催,但是你发现了无字天书。。。 八代单传么,就是口口相传,传了好几拨开发 断了香火,是当你接手的时候开发的人都跑光了 我心目中的无字天书是一行注释没有,给你一个t,自己体会;六手夏利是能跑,但是经过六个人的倒卖,到你这里,除了底盘没换,剩下的装配一家一个风格,尤其碰上爱写轮子的“大牛”,四个轱辘都不是一家的 (:з」∠) 那天改过去的一个展示demo,人家只告诉我一
分类: 其他 发布时间: 04-19 23:42 阅读次数: 0

使用Kotlin有什么技巧

reified 代码里的应用场景不算多,举几个库的用法作为例子: Gson: // JavaUserInfo userInfo = gson.fromJson(jsonString, UserInfo.class); // Kotlinval userInfo = gson.fromJson<UserInfo>(jsonString) Spring: // JavaGenericApplicationContext context = new GenericApplicationContext
分类: 其他 发布时间: 04-19 23:42 阅读次数: 0

网站为什么把 JS 调用放到网页底部

js在页面中不同位置带来的影响或效果区别 (这里将是讲浏览器资源加载原理和js执行原理的,用通俗易懂的方式说明白需要死掉很多脑细胞,查阅很多很多资料,可能包括已经还给老师的E文,会慢一点点。我争取说得通俗易懂,但发现很难,大家要有心理准备。) 要彻底搞懂,为什么别人建议js放在页面的底部,那么我需要从js的语言机制及其运行环境说起。 1,浏览器不是单线程的,它多线程的,如果有必要它还是多进程的。 很多同学并不理解浏览器不是单线程的,别问我为什么,暂时不打算做代课老师,这里有两篇,自己去理解。
分类: 其他 发布时间: 04-19 23:42 阅读次数: 0

inferno.js简述

我们先来看看 inferno.js 是什么: An extremely fast, React-like JavaScript library for building modern user interfaces 好吧,注意用词 :extremely; 同时还有: Inferno is an insanely fast, 9kb React-like library for building high-performance user interfaces on both the clien
分类: 其他 发布时间: 04-19 23:42 阅读次数: 0

js闭包经典面试题的代码

先看三段被称为js闭包经典面试题的代码 第一种引起for循环问题的原因 // 异步引起的for循环问题 1 for(var i=0;i<5;i++){ setTimeout(function timer(){ console.log(i); },i*1000); // 异步引起的for循环问题 2 for (var i = 1; i <= 5; i++) { item.onclick = function () { console.log(i); };
分类: 其他 发布时间: 04-19 23:41 阅读次数: 0

一般iOS 开发工资比起 Android 开发高的原因

iOS 开发需要使用 Xcode,而 Xcode 只有 OS X 版本,那么我们就需要一台运行 OS X 的设备了。Mac mini 国行 3500,还需要配一台显示器及键盘鼠标。 MacBook Air 6000起。MacBook Pro 9000起。 相比 Android 开发随便一台 3000 元的笔记本电脑就能搞定来说,iOS 开发的硬件成本算很高了。 而且开发需要在真机上调试吧,一台 iPhone 5000又没了。哦对,真机调试还需要开发者帐号,一年需要99刀。 学习成本 据我所知国
分类: 其他 发布时间: 04-19 23:41 阅读次数: 0

App Watch 应用开发过程

新建完成以后多了 WatchKit Extension 和WatchKit App –两个功能简介 Extension用来实现Watch App的数据逻辑处理并且和主App的交互 Watch App用来绘制界面,并且只能用storyboard,不支持代码绘制界面 –bundle id(假设主工程id为http://xxx.xxx.xxx) Extension中Info.plist的bundle id为xxx.xxx.xxx.watchkitextension Watch App中Info.pl
分类: 其他 发布时间: 04-19 23:41 阅读次数: 0

开发时的和部署时类库的引用和存放是一致还是不同

开发时的和部署时类库的引用和存放是一致还是不同? 依赖都是通过npm管理的,不过用的是阿里内部的npm源,通过webpack打包成bundle文件,在部署的时候也就不再有类库的概念了。 模块放在项目中还是放在 CDN 之类服务器? 既然是通过npm管理依赖的,依赖的模块会在本地开发和CI build的时候先拉到本地。 渲染网页用 Nginx 还是其他动态语言的 Web 服务器? 会有一整套的持续集成方案做代码的构建和部署,CI打包好之后会上传到CDN所以也就 制作网页的流程,是先有设计师的稿,
分类: 其他 发布时间: 04-19 23:41 阅读次数: 0

开发一款APP涉及的知识

APP开发涉及的知识主要包括: 1、前期需求的分析规划:需要一个完整的需求文档,包括流程图、时序图等,这个非常重要。 2、交互设计、UI设计:就是APP页面的设计和各个页面链接的跳转情况。 3、APP前台开发 苹果iOS版: 从基础开,一定要掌握C语言和数据结构,然后按照C语言+数据结构(面向过程) 》C++(面向对象)》Java(进阶) 由于 X code是运行在Mac OS X 上的开发环境,你必须首先熟悉 苹果电脑以及苹果Mac OS X系统的 安卓版: 最基本的Java语言和XML知识
分类: 其他 发布时间: 04-19 23:40 阅读次数: 0

C语言如何执行buf中的代码

strcpy(szBuf, “stricmp(“1”,“2”);”); 这里的szBuf只是保存了字符串值而已,并不是可执行的代码,从代码到可执行的二进制指令需要编译,亦或者通过解释执行.需要调用C编译器或解释器. 若要直接执行Buffer里面的代码必须是二进制指令. 这里提供一种可直接执行题主给的stricmp的例子: x86 char szBuf[] = “\x8b\x44\x24\x04\x8b\x5c\x24\x08\x0f\xbe\x08\x85\xc9\x74\x0f\x0f\xb
分类: 其他 发布时间: 04-19 23:40 阅读次数: 0

游戏领域的开发语言

游戏领域的开发语言 一款语言的发展壮大,也是讲究天时地利人和的,另外傍上一家巨头公司也尤为重要。 PHP 的创始人曾在 Yahoo 呆过很长时间。后来 PHP 也被 Facebook 大为重用。 Python 的创始人在Google 呆过。 Python 本来可以借助 Blender3D 这款开源软件,在游戏领域发展壮大。可惜的是 Blender3D 组委会一直不紧不慢,白白错失了良机。 Java 是 Sun 的命根。 C#是微软的亲儿子。 ObjectiveC 的兴起是借助 iO
分类: 其他 发布时间: 04-19 23:40 阅读次数: 0

游戏行业和其他行业开发的对比

游戏行业和其他行业的资深程序员对比 首先这个"资深程序员",就是单纯指技术综合实力强的程序员,和年龄,从业时间,头衔都无关. 3a大作中尤其是强技术类型的,其规模复杂度和技术深度的挑战都非常高,另外大量的作品在多年间保持一代代的出, 中间在不停的进化, 对开发效率要求也不低.横向对比,不输于大型的商业软件,能够hold住这些的程序员,起码不比这些领域中的程序员差. 另外像cppcon,siggraph这种会议上,也能看到领域重叠的其他程序员和研究者的成果,也是一样的结果. "不屑于开发游戏"的
分类: 其他 发布时间: 04-19 23:40 阅读次数: 0

使用DNS和SQLi从数据库中获取数据样本

在最近的一个Web应用测试中,我发现了一个潜在的SQLi漏洞。使用Burp的Collaborator服务通过DNS交互最终我确认了该SQL注入漏洞的存在。我尝试使用SQLmap进行一些额外的枚举和泄露,但由于SQLmap header的原因WAF阻止了我的请求。我需要另一种方法来验证SQLi并显示可以从服务器恢复数据。 使用DNS和SQLi从数据库中泄露数据 在之前的文章中,我向大家展示了如何使用xp_dirtree通过SQLi来捕获SQL Server用户哈希值的方法。这里我尝试了相同的方法
分类: 其他 发布时间: 04-19 23:39 阅读次数: 0

OWASP Benchmark搭建

一、简介 OWASP benchmark是OWASP组织下的一个开源项目,又叫作OWASP基准测试项目,它是免费且开放的测试套件。它可以用来评估那些自动化安全扫描工具的速度、覆盖范围和准确性,这样就可以得到这些软件的优点和缺点,还可以对它们进行相互比较。每个版本的OWASP benchmark都包含数千个完全可运行和利用的测试用例,每个测试用例都映射到该漏洞的相应CWE编号,所以该项目的漏洞数量和漏洞类型都是固定的,因此就可以查看扫描工具的测试报告进行对比得出该工具的误报和漏报率。 二、ben
分类: 其他 发布时间: 04-19 23:39 阅读次数: 0

审计docker进程和网络连接

一、引言 docker容器已经被广泛应用到各大公司线上、测试等各种环境,在宿主机如何识别出docker进程、docker网络连接就成为一个困扰的问题,如果容器内部署相同的crond或ssh服务,在宿主机上执行ps命令发现一大堆相同名字进程,根本无法区分属于宿主机还是具体某个container;不过docker提供docker top container_id命令能看到具体某个container在宿主机进程pid相关信息,但没有办法直接列出全部container进程。同时在网络连接方面,在宿主机
分类: 其他 发布时间: 04-19 23:39 阅读次数: 0

Imago,Python实现的图像数字取证工具

Imago是一个由python编写的图像数字取证工具,它可以从图像中递归提取数字证据。在整个数字取证调查中,这款工具非常有用。如果你需要提取图像中的数字证据且数量较多,那么Imago将能够帮助你轻松地对比它们。此外,Imago还允许你将证据提取到CSV文件或sqlite数据库中。如果在JPEG exif中存在GPS坐标,Imago可以提取经度和纬度,并将它们转换为度数检索相关信息,如城市,国家,邮政编码等。 安装 通过pip 安装 imago: $ pip install imago 安装完成
分类: 其他 发布时间: 04-19 23:39 阅读次数: 0

信息搜集开源小工具FuzzScanner介绍

fuzzScanner可用于批量快速的搜集网站信息,比别人更快一步的发现其他端口的应用或者网站管理后台等,也适合src漏洞挖掘的前期信息搜集。主要是用于对网站子域名、开放端口、端口指纹、c段地址、敏感目录、链接爬取等信息进行批量搜集。 开发初衷比较简单,当时正在参加一些攻防演练,需要快速的对目标网站进行子域名发现、端口扫描、目录扫描等,手头上有一些分散的工具,比如lijiejie的subdomains、子域名挖掘机、dirsearch等等,但当目标任务量比较大时,这些重复性的工作就会比较费时费
分类: 其他 发布时间: 04-19 23:38 阅读次数: 0

Android MediaPlayer媒体源

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35427437/article/details/86736114 要想利用MediaPlayer实现音频的播放,首先要对MediaPlayer进行初始化工作,得到MediaPlayer对象,在通过MediaPlayer进行相应的操作。 一般过程:初始化MediaPlayer - 加载媒体源 - 准备 - 开始播放 MediaPlayer mediaPlayer = new MediaPl
分类: 其他 发布时间: 04-19 23:38 阅读次数: 0

MMs 到 MediaModel . 彩信的各种mediaModel

彩信的媒体大概是这样: WorkingMessage里有个SlideshowModel SlideshowModel里一队列SlideModel SlideModel 是一个队列的MediaModel MediaModel,可以衍生出AudioModel,RegionMediaModel。 RegionMediaModel包含TextModel,ImageModel,VideoModel这三个分类。 创建MediaModel的构造函数 public MediaModel(Context co
分类: 其他 发布时间: 04-19 23:38 阅读次数: 0

Listview setSelection不生效问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35427437/article/details/88133632 之前有个需求要实现这么一个功能,进入到一个有listview的页面,然后自动定位到某个item.listview有提供一个api就是setSelection来实现跳转到某个ITEM,开始以为这个实现挺简单的,但是尝试了之后发现直接setSelection没有起作用。后来查了下资料发现,这个方法只有在listvie完成数据加载
分类: 其他 发布时间: 04-19 23:37 阅读次数: 0