用c语言手搓一个600行的类c语言解释器: 给编程初学者的解释器教程(1)- 目标和前言
这一系列教程希望面向初学者,使用c语言手工实现一个简单的解释器来玩,不需要您掌握除了c语言以外的其他前置知识,也不需要您学习过编译原理的相关知识(当然如果能对简单的数据结构有所了解的话会更好,比如树、栈等)。
2020-05-08
模拟黑客帝国效果2(canvas实验)
之前看到一个css和js应用的效果练了一下,演示:这次用canvas玩一下,感觉也还不错,Github传送门:[链接]演示地址:[链接] {代码...} {代码...}
线程池个人总结
学习线程池过程中产生的问题线程池的提交过程是怎么样的线程池是如何复用的Runnable和Callable提交有什么区别如何区分核心线程和非核心线程存活时间到达时如何关闭线程线程池的提交线程池的提交有3种方式: {代码...} 可以看到分别是2个Runnable和1个Callable的提交,那为什么有两个Runnable的提交呢。通常我们都是认为R...
2022-03-23
Python 中 staticmethod 和 classmethod 原理探究
文章 《Python中 property 的实现原理及实现纯 Python 版》 中探究了 property 的实现原理。如果能理解那边描述符的使用方式,那也能很快理解本篇中的 staticmethod 和 classmethod 。
vue(scoped)修改UI库组件样式
在工作中经常会碰见设计稿和UI库的组件样式不一样,在style标签加了scoped,就无法修改UI组件的样式了,因为当前组件样式只应用到这个组件上。
iOS Runtime面试题(Category 的实现原理?)
Category 实际上是 Category_t 的结构体,在运行时,新添加的方法,都被以倒序插入到原有方法列表的最前面,所以不同的Category,添加了同一个方法,执行的实际上是最后一个。
2019-11-20
对比requirejs更好的理解seajs
seajs遵循CMD规范,requirejs遵循AMD规范。AMD规范是预加载,CMD规范是赖加载。 下文举例假设有文件 b.js, c.js如下 {代码...} 1. seajs对依赖模块只加载不执行,requirejs对依赖模块既加载也执行 运行代码: {代码...} 运行结果: seajs: 控制台无输出 requirejs: 控制台: 2. seajs ,requirejs在 require文件时既加...
2017-09-20
我使用阿里云做直播,有什么手段保护直播安全?
摘要: 准备工作 开通阿里云直播服务:阿里云直播服务接收直播流,并提供直播播放地址,完成一场直播需要先开通阿里云直播服务,在 直播官网详情页 中单击 立即开通 ,开通阿里云直播服务。 如您已经能够使用阿里云进行直播,但还没有进行过直播,可参考 如何使用 PC 推流。
CodeIgniter 和淘宝SDK 集成
最近在研究淘宝第三方软件开发,用到了CodeIgniter PHP(CI)框架和 淘宝SDK(TOPSDK),今天就给大家说说CI怎么和TOP SDK集成!适用人群:如果您现在还不知道CodeIgniter 是什么,那么建议您不用看了如果您现在还不知道淘宝SDK是什么,那么建议您也不要看了。第一步:下载并且解压淘宝sdk
2019-09-24
用Python代码来下载任意指定网易云歌曲(超详细版)
前两天教了大家如何在控制台上找到真实的mp3播放地址,但是不可以下载付费的,因为只能下载可播放的歌曲。至于怎样下载付费网易云音乐,还是开个会员吧,要知道免费是最贵的的这个道理。
二进制 原码 补码 反码
1. 二进制概念二进制是由0与1组成的机器码 即01010101二进制单位是bit8bit为1组 ,实际情况就是数字1 转换为二进制 00000001二进制最高位为符号位,0表示正数(+),1 表示负数(-) -1 ---> 10000001 1 ----->000000012. 原码原码就是符号位加上真值的绝对值.例:[+1]原= 0000 0001[-1]原= 1000 00013. 反码正数的反码是...
2021-03-15
git操作
新建分支git branch xxx 查看所有分支git branch -a 查看当前分支(前面标"*"号的表示当前使用分支)git branch 切换到某一分支git checkout xxx 添加修改代码到缓存(注意最后的"."前面有个空格git add . 添加指定修改代码文件到缓存git add a.html 将文件从缓存中删除git rm --cached 将文件从缓存中删除且删除本地文...
2020-04-13
vscode开发android ndk的环境配置
最近公司新需求,要求用C/C++实现部分核心代码,打包成静态库跨平台(Android和iOS)使用。 作为Android开发出身的C/C++老白程序员兴奋不已(又可以开心的学习niubility的C/C++了),但之前写JNI代码的集成环境都是Android Studio,最后打包生成的so库也是面向Android平台的。 有什么IDE适合这种跨平台开发的呢?请教了...
函数探秘:深入理解C语言函数,实现高效模块化编程
C语⾔的程序其实是由⽆数个⼩的函数组合⽽成的,也可以说:⼀个⼤的计算任务可以分解成若⼲个较⼩的函数(对应较⼩的任务)完成。同时⼀个函数如果能完成某项特定任务的话,这个函数也是可以复⽤的,提升了开发软件的效率。而C语言函数大致可以分为两类:库函数与自定义函数
2024-02-24
绕过前端加密进行爆破
现在很多web 在登陆的过程中会用 js 对账号密码进行加密之后再进行传输,我们利用代理工具抓到的包看到账号密码是密文而非明文,这样对批量爆破或者撞库进行传参就会产生障碍,所以这片文章对遇到这类问题如何解决思路的一个分析。
Golang 学习笔记:程序结构
Go语言包含了五种程序符号,分别是标识符(identifier)、关键字(keyword)、运算符(operator)、分隔符(delimiter)与字面量(literal)。这五种程序元素组合成各种表达式和语句。
2020-06-03
学习笔记:原码,反码和补码
面试官又问原因,我回答:因为Integer中有一个常量池,在-128 ~ 127这个范围内的数会直接从常亮池中获取(具体在Integer源码中有实现)。
2020-10-27