python 虚拟环境venv、pipenv、poetry、conda如何选择?

Backend

Install Poetry curl -sSL https://install.python-poetry.org | python3 - https://python-poetry.org/docs/#installing-with-the-official-installer 别名 cuiwei@weideMacBook-Pro ~ % cat ~/.bashrc alias poetry='~/.local/bin/poetry' 区别 virtualenv 太老,除非你还在使用python 2,否则不推荐。 venv python自带的虚拟环境管理,简单是它的优势,也是它的劣势。...

laravel 自定义中间件实现身份验证

Backend

通过Laravel 用户认证我们知道了基于 api 的身份验证,实现方式有Laravel Sanctum API 授权 、 Laravel 使用 Json Web Token(JWT) 等,今天介绍一下自定义中间件实现身份验证 中间件 使用中间件需要提前在app/Http/Kernel.php这里配置,分为全局中间件、中间件、中间件组 全局中间件 全局中间件无需主动调用,系统会自动应用到每次请求。比如:TrimStrings中间件会自动去掉请求参数左右两边的空格;ConvertEmptyStringsToNull中间件会自动把请求参数中的空字符串转为 null。 ConvertEmptyStr...

laravel 以服务提供者的方式使用 elasticsearch

Backend

安装 安装elasticsearch官方扩展包 composer require elasticsearch/elasticsearch 以服务提供者的方式使用 elasticsearch 可以参考这篇文章:Laravel 以服务提供者的方式使用第三方扩展包 下面给出关键配置 config/es.php <?php declare(strict_types=1); return [ 'hosts' => explode(',', env('ELASTIC_HOSTS')),//['http://elasticsearch:9200'] 'username' => env(...

初步分析 Elasticsearch 文档

Backend

Query DSL Elasticsearch提供基于JSON的完整查询DSL(Domain Specific Language)来定义查询。 https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html 例如: GET /_search { "query": { "bool": { "must": [ { "match": { "title": "Search" }}, { "match": { "content": "...

Laravel 使用 Json Web Token(JWT)

Backend

关于 JWT 之前写过 php - Json Web Token(JWT)的使用 go - gin 使用 Json Web Token(JWT) 今天总结下 Laravel 中 JWT 的使用 安装 composer require tymon/jwt-auth #发布配置 php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider" #生成密钥,这将更新您的.env文件,例如JWT_SECRET=foobar php artisan jwt:secret 快速开始 更新你的...

Laravel Sanctum API 授权

Backend

Laravel Sanctum 为 SPA(单页应用程序)、移动应用程序和基于令牌的、简单的 API 提供轻量级身份验证系统。Sanctum 允许应用程序的每个用户为他们的帐户生成多个 API 令牌。这些令牌可以被授予指定允许令牌执行哪些操作的能力 / 范围。 简单来说,前后端分离的项目,使用 token 验证登陆状态,可以选它;另外,同类型的还有 jwt 比较火 安装 Laravel 9 已经包含了 Laravel Sanctum,所以下面的步骤看看就行了 composer require laravel/sanctum php artisan vendor:publish --prov...

Laravel 表单验证失败跳首页的解决办法

Backend

首先,官方不觉得这是一个问题 如果在传统 HTTP 请求期间验证失败,则会生成对先前 URL 的重定向响应。如果传入的请求是 XHR,将将返回包含验证错误信息的 JSON 响应。 https://learnku.com/docs/laravel/9.x/validation/12219#quick-writing-the-validation-logic 问题复现 cuiwei@weideMacBook-Pro ~ % curl -X POST 'http://laravel.cw.net/api/login' \ --header 'Content-Type: application/js...

laravel 代码提示 - laravel-ide-helper

Backend

在开发过程中,可能会遇到有些代码不能跳转,如下图 laravel-ide-helper 可以解决这个问题。 使用 composer require --dev barryvdh/laravel-ide-helper #低版本Laravel 5.5 composer require --dev barryvdh/laravel-ide-helper v2.4.1 php artisan ide-helper:generate php artisan ide-helper:meta #模型注释 composer require --dev doctrine/dbal php artisan ...

Laravel 用户认证

Backend

应用的身份认证一般包含两种:web 浏览器认证和API 认证 基于 web 浏览器的身份验证:常见于前后端混合开发的项目,php混合html模版;使用session+cookie完成身份验证。现在很少见了 基于 api 的身份验证:常见于前后端分离的项目,一套api同时给前端,Android,iOS提供服务;使用token完成身份验证。也是当下最流行的开发模式 在其核心,Laravel 的用户认证是由「看守器」和「提供器」。看守器定义如何对每个请求的用户进行身份验证。例如,Laravel 附带了一个 session 守护程序,它使用 session 存储和 cookie 来维护状态。 提...

docker-compose 快速部署 Soketi

Backend

docker-compose version: '3' # 使用外部网络 # docker network create server_web-network networks: server_web-network: external: true services: docker-soketi: image: 'quay.io/soketi/soketi:1.5.0-16-debian' # environment: # SOKETI_DEBUG: '1' # SOKETI_METRICS_SERVER_PORT: '9601' # ...