就在前几天,发生了件令我十分头疼的事情。我搭建的 p 站反代服务被人恶意调用,在国内请求了百万张 R18 图片,险些造成严重的后果,不过还好我及时进行了处理。
正当我松了口气,准备来张涩图奖励下自己的时候,机器人却一直提示图片请求失败。进首页一看,用了快 3 年的 API 因为作者被爬虫抓烦了,决定停止服务。这下心情更不好了.jpg
Yuki 妙妙屋
不要因为走得太远,就忘了当初为什么出发。
就在前几天,发生了件令我十分头疼的事情。我搭建的 p 站反代服务被人恶意调用,在国内请求了百万张 R18 图片,险些造成严重的后果,不过还好我及时进行了处理。
正当我松了口气,准备来张涩图奖励下自己的时候,机器人却一直提示图片请求失败。进首页一看,用了快 3 年的 API 因为作者被爬虫抓烦了,决定停止服务。这下心情更不好了.jpg
在上个月,我更改了已使用近 9 年的网名,还顺便换了一个新邮箱(感觉自己萌萌哒),这本应该是一件值得开心的事才对…
但是直到今天,我才突然发现,我的 Github 墙居然不绿了!
在 Java 中,我们可以通过 getStackTrace()
来获取调用栈信息。若是 PHP 就更简单了,直接调用 debug_backtrace()
函数就可以打印出各类数据。
可是,在 JavaScript 中的表现又如何?说到底,作为一门不依赖于操作系统的脚本语言,究竟能不能主动获取到堆栈的相关信息?
在 Javascript 里,所有的数据类型都是「对象」(object),这一点与 Java 非常相似,所以很多人都会误以为 JavaScript 是一门面向对象的语言。
但从严格意义上来讲,Javascript 并不是一门面向对象语言,而是基于对象,也可以说是基于原型。Javascript 并没有「类」(class) 的概念,也没有提供像抽象、继承、重载等有关面向对象语言的许多特性。那么,Javascript 是如何通过 object 来实现 class 类似表现的?
如果你使用过 Swift 或者 C#,那么一定对 var
非常熟悉。它是 variable 或者是 variation 的简写,在编程语言中多用于定义变量的关键字,在一些操作系统中也能见到它的身影。
JavaScript 中也可以使用 var
来声明变量,不仅限于此,还有 let
、const
共三种方式创建变量。而如今却很少在 JS 中见到 var
的身影,这又是为什么?
在 JavaScript 中,生成实例对象有着 new function 与 new class 两种写法。
尽管我们知道,传统 function
构造函数是 ES5 中的写法,而 class
则是在 ES6 新提出的关键字,那么这两种写法到底有着什么样的区别?
众所周知,Pixiv 在大陆被墙,并且图片服务器域名 i.pximg.net
有盗链保护,只要 Referer
不是来自 Pixiv 的请求都会返回 403。那么,如何才能在大陆地区直接访问图片资源?