openresty - luajit - continue、bit、ffi
摘自:http://www.daileinote.com/computer/openresty/03 我们知道,openresty 使用的开发语言为 Lua,内置了 LuaJIT 解释器,速度比 Lua 官方解释器要快很多。 LuaJIT 基于 Lua 5.1,但在不破坏兼容性的前提下适当引入了一些 5.2 和 5.3 的语言特性,还提供了很多特别的优化和库,例如 table.new、bit、ffi。LuaJIT 是开源的,官网地址为 http://luajit.org continueLua 语言不支持 continue 语法,有时候很不方便,好在 LuaJIT 加入了 Lua 5.2 的 goto 语句,变相的实现了 continue。goto 语句需要配合标签 ::label::使用,例如 123456789101112--tmp.luafor i=0,6,1 do if i<5 then goto continue else print(i) end ::continue::end[root@192 lua]# /...
openresty-基础及运行机制
摘自:http://www.daileinote.com/computer/openresty/04 局部模块在同一个worker中是共享的在同一个 worker 中,使用 local 修饰的模块代码和数据只会被加载一次,该模块下的数据在同一个 worker 下的所有请求共享,但是全局的却不是(也就是不加 local 修饰),那是由于一个请求一个协程的设计原则。 123456location /lua { content_by_lua_block { local mydata = require "mydata" ngx.say(mydata.get_age("dog")) }} 当第一次请求 /lua 时,当前 worker 会加载缓存该模块,接下来所有到 /lua 的请求都会使用预先加载的数据,这也是 openresty 高性能的原因所在。 一定要注意,数据在同一个 worker 下共享,换句话说,启动 nginx 如果有多个 work...
安装openresty
OpenResty® 是一个基于 Nginx的高性能 Web 平台,用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。具备下列特点: 具备Nginx的完整功能 基于Lua语言进行扩展,集成了大量精良的 Lua 库、第三方模块 允许使用Lua自定义业务逻辑、自定义库 官方网站: https://openresty.org/cn/ 安装OpenResty1.安装首先你的Linux虚拟机必须联网 1)安装开发库首先要安装OpenResty的依赖开发库,执行命令: 1yum install -y pcre-devel openssl-devel gcc --skip-broken 2)安装OpenResty仓库你可以在你的 CentOS 系统中添加 openresty 仓库,这样就可以便于未来安装或更新我们的软件包(通过 yum check-update 命令)。运行下面的命令就可以添加我们的仓库: 1yum-config-manager --add-repo https://openresty.org/package/centos...
openresty-配置指令
摘自:http://www.daileinote.com/computer/openresty/05 下面是 lua-nginx-module 模块的一些配置指令 lua_package_path123syntax: lua_package_path <lua-style-path-str>default: context: http 设置 lua 模块的搜索路径,可以包含 $prefix 或 ${prefix} 变量,当我们有多个 openresty 程序通过 -p 命令指定工作目录启动时非常有用。 lua_package_cpath123syntax: lua_package_cpath <lua-style-path-str>default: context: http 指定c动态库搜索路径,其他的同上。 12lua_package_cpath '/usr/lib64/lua/5.1/?.so;;/tmp/lua/*.so;;';lua_package_path '$prefix/lib/*.lua;;/tmp/lu...
SpringBoot(2.x)devtools的使用
:https://blog.csdn.net/renpeng301/article/details/124596782 参考:https://blog.csdn.net/renpeng301/article/details/124596782 Spring Boot DevTools 2.x(IDEA 热部署&远程调试&LiveReload)前言Spring Boot包括一组额外的工具,它们可以使应用程序开发体验更加方便。spring-boot-devtools模块可以包含在任何项目中,以提供额外的开发时特性。要包含devtools支持,请将模块依赖添加到你的项目中,如下面的Maven和Gradle清单所示: Maven 1234567<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifac...
记录arthas的使用
参考: https://blog.csdn.net/qq_27184497/article/details/118875205 什么是 Arthas摘录一段官方 Github 上的简介Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas 可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 是否有一个全局视角来查看系统的运行状况? 有什么办法可以监控到JVM的实时运行状态? Arthas 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。 Arthas 基于哪些工具开发而来 greys-anatomy: Arthas代码基于Greys二次开发而...
LOIC安全测试工具
LOIC安全测试工具什么是LOIC?LOIC是一款专著于web应用程序的Dos/DDOS攻击工具,它可以用TCP数据包、UDP数据包、HTTP请求于对目标网站进行DDOS/DOS测试 下载后电脑可能可能会报杀病毒,可以先关闭实时保护 LOIC 的工作原理它的工作原理是向目标服务器发送大量 TCP、UDP 或 HTTP 数据包以中断服务。一名攻击者使用 LOIC 无法产生足够的垃圾流量来严重影响目标;严重的攻击需要成千上万的用户协调,对同一目标同时发起攻击。为了使协同攻击更容易,用户可以使用 IRC 聊天频道来运行 LOIC 的“Hivemind”(蜂群思维)版本,该版本允许一个主要用户控制多台联网的次级计算机,从而创建一个自愿的僵尸网络。这是一种热门做法,因为次级设备的所有者可以声称自己是非自愿僵尸网络的无辜受害者。 LOIC Hivemind 在 2008 年被 Anonymous 用来攻击 Church of Scientology 网站,以回应该教会为撤下 YouTube 视频采取的法律手段。LOIC 还在 2010 年出现了一次著名用例,当时 ...
gitlab-runner安装
Gitlab-runner GitLab Runner是一个开源项目,用于运行您的作业并将结果发送回GitLab。它与GitLab CI结合使用,GitLab CI是GitLab随附的用于协调作业的开源持续集成服务。 要求 GitLab Runner是用Go编写的,可以作为一个二进制文件运行,不需要特定于语言的要求。它旨在在GNU / Linux,macOS和Windows操作系统上运行。只要您可以在其他操作系统上编译Go二进制文件,其他操作系统就可能会运行。 如果要使用Docker,请安装最新版本。GitLab Runner需要最少的Docker v1.13.0。 GitLab Runner版本应与GitLab版本同步。尽管较旧的Runner仍可以使用较新的GitLab版本,反之亦然,但在某些情况下,如果版本存在差异,则功能可能不可用或无法正常工作。在次要版本更新之间可以保证向后兼容性,但是请注意,GitLab的次要版本更新会引入新功能,这些新功能将要求Runner在同一次要版本上使用。 特点 允许运行: 同时执行多个作业。 对多个服务器(甚至每个项目)使用...
记录一次es分享会(主要内容倒排索引)
es分享一. 建立倒排索引认识 倒排索引是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射 12341问: 说出带"前"字的古诗词2问: 背一下李白的静夜思`窗前明月光,疑是地上霜`3问: 背诗的方式?按照书中排列顺序,先记诗名再记内容 14问: 具象化到关系库模型也就是如下 15问: 在脑子中形成的索引是这样的 123456786问: 在脑子里建立了name的索引, 关系库的表现方式就变成了如下当问到根据name找content的时候就会很快(sql: `select * from 古诗 where name = "静夜思";`)但反过来问的时候就变成如下的查询(sql: `select name from 古诗 where content like "%前%";`)(这里不考虑覆盖索引)7问: 如上所述,如果建立以"前"字作为索引查询,是不是解决了这个问题?(如下图) 12348问: 上面所说索引建立模式解决了寻找慢的问题,那么新的问题...
ChatGPT
ChatGPT 是什么?这个问题,我觉得可以放上 ChatGPT 的亲自答: 我是 Assistant,一个由 OpenAI 训练的大型语言模型。我可以回答您的问题,并帮助您了解更多关于特定主题的信息。我并不具备自己的意识,只能通过我所学到的知识来回答问题。如果您有任何其他问题,请随时问我。我很乐意帮助您。 —ChatGPT OpenAI 又是什么?再来看看 ChatGPT 是怎么回答的: OpenAI 是一家人工智能研究机构,致力于通过研究人工智能技术来推进人类的发展。它由一群来自业界和学术界的研究人员和专家组成,包括伯克利加州大学的 Yann LeCun 和加州理工学院的 Ian Goodfellow 等。OpenAI 的目标是通过开发智能系统来提高人类生活的质量,并帮助人类应对未来的挑战。它已经开发了许多不同的人工智能技术,其中包括机器翻译、自然语言处理、图像分类和语音识别等。OpenAI 还与其他研究机构和企业合作,共同开发更多的人工智能技术。 —ChatGPT 如何注册 ChatGPT要注册使用 ChatGPT,需要做好以下准备:全局代理(推荐美国节点)一个邮箱...
