欢迎来到 艾瑞可erik 的魔法世界 🧙‍♂️

给我一个需求,还你一个项目——别管它是什么。这就是全栈。

📚 291 篇文章 🏷️ 504 个标签 📂 90 个分类

🔥 最新文章

MongoDB permissions explained

Misconceptions about permissions — the ordering below does not mean the permissions get bigger and bigger. Apart from users with the readWrite permission (root users included), no other users have write permission on a database, and apart from the read permission, no other users have read permission on the data in a database. Each permission has a different function (except root).

Python库大全

学Python,想必大家都是从爬虫开始的吧。毕竟网上类似的资源很丰富,开源项目也非常多。

Python学习网络爬虫主要分3个大的版块:抓取,分析,存储

当我们在浏览器中输入一个url后回车,后台会发生什么?

简单来说这段过程发生了以下四个步骤:

查找域名对应的IP地址。
向IP对应的服务器发送请求。
服务器响应请求,发回网页内容。
浏览器解析网页内容。

A Complete Collection of Python Libraries

When learning Python, most of us probably started with web scraping. After all, there is plenty of similar material online and a great many open-source projects too.

Learning web scraping in Python breaks down into 3 big areas: fetching, parsing, and storing.

When we type a url into the browser and hit enter, what happens behind the scenes?

Put simply, these four steps take place:

Look up the IP address corresponding to the domain name.
Send a request to the server at that IP.
The server responds to the request and sends the page content back.
The browser parses the page content.

Elasticsearch基本CURD操作

当我们的ES集群搭建完成以后,我怎么能看到集群中各个节点状态以及主节点和健康情况呢,如下讲解使用curl命令来与ES集群进行交互、分别有查询主节点情况、集群状态、以及创建索引查看索引、查看分片以及对ES集群进行查询请求等操作。

Basic Elasticsearch CURD Operations

Once our ES cluster is set up, how can I see the status of each node in the cluster, as well as the master node and health status? Below I’ll explain how to use the curl command to interact with the ES cluster, covering checking the master node, the cluster status, creating an index and viewing indexes, viewing shards, and sending query requests to the ES cluster, and so on.

php的spl详解

  • 数据结构

    • SplDoublyLinkedList (双向链表)
      SplDoublyLinkedList::add —在指定的索引处添加/插入新值
      SplDoublyLinkedList::bottom —从双向链表的开头偷看节点
      SplDoublyLinkedList::__ construct —构造一个新的双向链表
      SplDoublyLinkedList::count —计算双向链接列表中的元素数
      SplDoublyLinkedList::current —返回当前数组条目
      SplDoublyLinkedList::getIteratorMode —返回迭代模式
      SplDoublyLinkedList::isEmpty —检查双向链接列表是否为空
      SplDoublyLinkedList::key —返回当前节点索引
      SplDoublyLinkedList::next —移至下一个条目
      SplDoublyLinkedList::offsetExists —返回所请求的$ index是否存在
      SplDoublyLinkedList::offsetGet —返回指定的$ index处的值
      SplDoublyLinkedList::offsetSet —将指定的$ index处的值设置为$ newval
      SplDoublyLinkedList::offsetUnset —取消指定$ index处的值
      SplDoublyLinkedList::pop —从双向链接列表的末尾弹出一个节点
      SplDoublyLinkedList::prev —移至上一个条目
      SplDoublyLinkedList::push —将元素推入双向链接列表的末尾
      SplDoublyLinkedList::rewind —将迭代器倒回开始
      SplDoublyLinkedList::serialize —序列化存储
      SplDoublyLinkedList::setIteratorMode —设置迭代模式
      SplDoublyLinkedList::shift —从双链表的开头移出一个节点
      SplDoublyLinkedList::top —从双向链表末尾窥视节点
      SplDoublyLinkedList::unserialize —反序列化​​存储
      SplDoublyLinkedList::unshift —为双向链接列表添加一个元素
      SplDoublyLinkedList::valid —检查双向链表是否包含更多节点
      

A Detailed Look at PHP's SPL

  • Data Structures

    • SplDoublyLinkedList (Doubly linked list)
      SplDoublyLinkedList::add — Add/insert a new value at the specified index
      SplDoublyLinkedList::bottom — Peek at the node from the beginning of the doubly linked list
      SplDoublyLinkedList::__ construct — Constructs a new doubly linked list
      SplDoublyLinkedList::count — Counts the number of elements in the doubly linked list
      SplDoublyLinkedList::current — Returns the current array entry
      SplDoublyLinkedList::getIteratorMode — Returns the iteration mode
      SplDoublyLinkedList::isEmpty — Checks whether the doubly linked list is empty
      SplDoublyLinkedList::key — Returns the current node index
      SplDoublyLinkedList::next — Moves to the next entry
      SplDoublyLinkedList::offsetExists — Returns whether the requested $ index exists
      SplDoublyLinkedList::offsetGet — Returns the value at the specified $ index
      SplDoublyLinkedList::offsetSet — Sets the value at the specified $ index to $ newval
      SplDoublyLinkedList::offsetUnset — Unsets the value at the specified $ index
      SplDoublyLinkedList::pop — Pops a node from the end of the doubly linked list
      SplDoublyLinkedList::prev — Moves to the previous entry
      SplDoublyLinkedList::push — Pushes an element onto the end of the doubly linked list
      SplDoublyLinkedList::rewind — Rewinds the iterator to the beginning
      SplDoublyLinkedList::serialize — Serializes the storage
      SplDoublyLinkedList::setIteratorMode — Sets the iteration mode
      SplDoublyLinkedList::shift — Shifts a node from the beginning of the doubly linked list
      SplDoublyLinkedList::top — Peeks at the node from the end of the doubly linked list
      SplDoublyLinkedList::unserialize — Unserializes the storage
      SplDoublyLinkedList::unshift — Prepends an element to the doubly linked list
      SplDoublyLinkedList::valid — Checks whether the doubly linked list contains more nodes
      

开源云原生项目

  • Kubernetes 容器编排平台

    • github

      Kubernetes! 说起云原生应用,怎么能不提 Kubernetes 呢?Google 发明的 Kubernetes 无疑是最著名的基于容器的应用程序的容器编排平台,而且它还是一个开源工具。

      什么是容器编排平台?通常,一个容器引擎本身可以管理几个容器。但是,当你谈论数千个容器和数百个服务时,管理这些容器变得非常复杂。这就是容器编排引擎的用武之地。容器编排引擎通过自动化容器的部署、管理、网络和可用性来帮助管理大量的容器。

      Docker Swarm 和 Mesosphere Marathon 也是容器编排引擎,但是可以肯定地说,Kubernetes 已经赢得了这场比赛(至少现在是这样)。Kubernetes 还催生了像 OKD 这样的容器即服务(CaaS)平台,它是 Kubernetes 的 Origin 社区发行版,并成了 Red Hat OpenShift 的一部分。

Open Source Cloud Native Projects

  • Kubernetes container orchestration platform

    • github

      Kubernetes! When talking about cloud native applications, how could we not mention Kubernetes? Invented by Google, Kubernetes is undoubtedly the most famous container orchestration platform for container-based applications, and it is also an open source tool.

      What is a container orchestration platform? Normally, a container engine itself can manage a few containers. But when you are talking about thousands of containers and hundreds of services, managing those containers becomes very complicated. That is where a container orchestration engine comes in. A container orchestration engine helps manage a large number of containers by automating their deployment, management, networking, and availability.

      Docker Swarm and Mesosphere Marathon are also container orchestration engines, but it is safe to say that Kubernetes has already won this race (at least for now). Kubernetes has also given rise to container-as-a-service (CaaS) platforms like OKD, which is the Origin community distribution of Kubernetes and became part of Red Hat OpenShift.

Using wpscan 3.7.11 and usbrip

I happened to look into wpscan, the tool for attacking WordPress, following tutorials demonstrated online, and found there are an awful lot of pitfalls.
Most of them are tutorials for old versions; the commands changed in the latest version — —wordlist has been dropped in favor of -P.
You need to register on the official site to generate a key and use it locally.
Also, you have to generate the password dictionary yourself with crunch; most weak passwords can be brute-forced.

openresty的介绍

今天给一家公司投简历,问我用过openresty没,确实没用过,回答后没结果了。这就查了查。

官方介绍如下:

        OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

OpenResty® 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统。

OpenResty® 的目标是让你的Web服务直接跑在 Nginx 服务内部,充分利用 Nginx 的非阻塞 I/O 模型,不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如 MySQL、PostgreSQL、Memcached 以及 Redis 等都进行一致的高性能响应。

An Introduction to OpenResty

Today I sent my resume to a company, and they asked whether I had used openresty. I really had not, so after I answered there was no result. So I looked into it.

The official introduction is as follows:

        OpenResty® is a high-performance web platform based on Nginx and Lua, with a large number of fine Lua libraries, third-party modules and most of their dependencies bundled in. It is used to conveniently build dynamic web applications, web services and dynamic gateways that can handle extremely high concurrency and are highly scalable.

OpenResty® brings together various well-designed Nginx modules (mostly developed by the OpenResty team itself), effectively turning Nginx into a powerful general-purpose web application platform. In this way, web developers and system engineers can use the Lua scripting language to invoke the various C and Lua modules supported by Nginx, quickly building high-performance web application systems capable of handling 10K or even over 1000K concurrent connections on a single machine.

OpenResty®'s goal is to let your web service run directly inside the Nginx service, making full use of Nginx's non-blocking I/O model, delivering consistent high-performance responses not only to HTTP client requests but even to remote backends such as MySQL, PostgreSQL, Memcached and Redis.