首页
统计
留言
Search
1
PHP中使用反射
995 阅读
2
phpstorm配置SFTP
940 阅读
3
Go语言——结构体
792 阅读
4
PhpStorm 使用 AI 代码生成工具 Codeium
779 阅读
5
关于PHP的垃圾回收机制
763 阅读
后端
PHP
Go
数据库
其他
前端
其他技术
生活杂谈
登录
Search
标签搜索
Laravel
Mysql
RPC
Redis
Liunx
PHP
CSS
ES
算法
开发工具
断点续传
反射
phpstorm
工具
防盗链
CURL
设计模式
面试
Nginx
搜索引擎
quhe.net
首页
栏目
后端
PHP
Go
数据库
其他
前端
其他技术
生活杂谈
页面
统计
留言
搜索到
57
篇与
quhe.net
的结果
2022-04-22
PhpStorm 使用 AI 代码生成工具 Codeium
什么是Codeium?Codeium是现代编码超级大国,是基于尖端人工智能技术构建的代码加速工具包。目前,Codeium有两个主要功能:自动补全(Autocomplete),它会提示您想要输入的代码,为您节省从样板文件到单元测试的所有时间;搜索(Search),它可以帮助您使用自然语言问题搜索存储库。通过与编辑器的轻松集成,我们希望您专注于成为最好的软件开发人员,而不是最好的代码猴子。支持什么编程语言?Codeium 的性能很好(默认启用)以下语言(按字母顺序):Assembly, C, c++, c#, Clojure, CMake, CoffeeScript, CSS, CUDA, Dart, Delphi, Dockerfile, Elixir, f#, Go, Groovy, Haskell, HCL, HTML, Java, JavaScript, Julia, JSON, Kotlin, LISP, Less, Lua, Makefile, MATLAB, Objective-C, pbtxt, PHP, Protobuf, Python, Perl, Powershell, R, Ruby, Rust, Sass, Scala, SCSS, shell, Solidity, SQL, Starlark, Swift, Typescript, TSX, VBA, Vue, YAML。在任何其他语言上,都可以显式地启用Codeium。免费吗?对于个人开发者来说,是的。我们的理念是,每个开发人员都应该能够使用这些工具,以保持竞争环境的公平性。话虽如此,如果你对我们的最终盈利计划感到好奇,可以在General部分查看相关问题。支持什么编辑器?根据官网介绍,常用的编辑器基本都支持:PHPStorm安装使用步骤和安装普通插件一样,直接在插件安装那里搜索:Codeium ,然后安装重启ide就行。使用教程 <摘自Codeium官网示例>1、设置尽管 Codeium 支持多种语言,我们会在 PyCharm 中使用 Python 来演示其示例。在 PyCharm 中创建一个名为 test.py 的新 Python 文件。2、源代码中获取Codeium 可以基于你写的代码片段来建议多行代码!试试以下简单的头部:python复制代码def fib(n):Codeium 应该会生成一整个灰色文本的函数体,在此为获取第 N 个斐波那契数而工作!注意:你可能会得到稍微不同的结果,这是由于模型不断改进和采样以增加生成代码的多样性造成的。3、接受建议如果你喜欢这个建议,只需按下 Tab 就可以接受。4、从注释中获取Codeium 还可以理解注释,使你能够仅凭所需功能的描述就能获得代码!让我们尝试之前的示例,但改为仅写注释和 def,即 Python 函数的关键字:python复制代码# 获取第 N 个斐波那契数 defCodeium 应该会生成不只是函数体如之前那样,而且还会产生函数头!5、备选建议尽管 Codeium 经常能在第一次尝试时产生好的代码,但在有多种潜在方法的情况下,切换选项可能很有帮助。例如,Codeium 可能会产生以下实现以逆时针方式围绕原点旋转给定角度的点:棒极了!这个方案可行,但也可能你不想自己做度数转换。你可以使用 ⌥ + ] 和 ⌥ + [(在 MacOSX 上)或 Alt + ] 和 Alt + [(在 Windows / Linux 上)来在多个备选建议选项之间切换。在此示例中,查看下一个选项会得到一个包含使用 math 库执行度到弧度转换的代码片段。注意:如果快捷键未更改建议,则这是因为 Codeium 认为只有一个高概率选项或所有顶部选项足够相似,可以将它们合并为单个选项。关于Windews/Ubuntu的IDEA上Codeium:Failed to download Language service出现此类问题大概率是因为网络原因造成的。由于是国外开发的,应该需要魔法才可以,但是我开了魔法也不好使,不过也可以通过其他方式来解决。不同的操作系统之间的解决方法类似,下面以Windows操作系统为例:解决方法就是将自己下载好的语言服务文件放到IDEA安装Codeium插件的文件夹中:1、首先关闭IDEA编译器2、从下面地址中下载符合你的操作系统的文件,可自行选择版本号(最好选择和自己插件一致的版本-感谢评论区的提示),gz文件下载后要解压出exe文件。GitHub链接 3、下载完成后,找到如下文件夹(自己IDEA的版本号),:C:\Users\{自己电脑的账号}\AppData\Roaming\JetBrains\IntelliJIdea2023.1\plugins\codeium 将下载好的exe可执行文件保存到下方红圈的文件夹中,再打开IDEA,你就会发现Codeium可以正常使用啦。(如果还是不行的话可以尝试禁用插件,然后再启用)Ubuntu上的解决方法来了:前两步与Windows操作系统 将下载后的文件放到以下目录中:.local文件夹需要打开隐藏文件才能显示:下载的文件放到对应文件夹后,再打开IDEA,你就会发现Codeium可以正常使用啦。(如果还是不行的话可以尝试禁用插件,然后再启用,我就是通过这种方式解决的)Mac版本就不更新了,因为买不起!!!不过原理类似,只要找到IDEA安装插件的目录后面就简单啦。
2022年04月22日
779 阅读
0 评论
2 点赞
2022-03-12
记一次服务器数据迁移过程
前言最近需要迁移服务器,服务器上不止一个网站,并且数据也挺大,光数据库就有共差不多10个G,所以如何高效率传输数据就成了问题,最后经过差不多一整天的折腾,最后终于全部迁移完成。下面我将数据迁移过程拆分为:数据库、网站源码、静态资源数据 三部分做记录。数据库如果数据量不大的话,迁移还挺简单,可以直接利用Navicat的[工具->数据传输]功能完成,简单方便。但是我的数据有快10个G,我用Navicat的传输工具时,出现了不可预知的错误,导致迁移失败,所以最后利用了宝塔的备份和 导入 功能完成迁移。但是这里还有个更大的问题,就是数据库备份后的备份文件大小有好几个G,如何将这个大文件从源服务器传到目标服务器又成了问题,我又试了SCP和FTP传输,这两种传输方式都失败了,SCP传送到一半的时候自己中断了,FTP传输也是一样。最后采用了宝塔的自带文件分享和文件从URL下载功能,才完成迁移。真是一波三折~源码源码的话,直接在源服务器上压缩一份文件,然后通过宝塔的自带文件分享功能迁移到目标服务器,然后通过git clone 仓库里的源码(克隆到单独一个文件价,然后粘贴覆盖迁移的文件),再整合一下即可。资源文件还是采用宝塔的文件分享功能。其他PHP部署:安装拓展:fileinfo、opcache、memcached删除禁用函数:putenv、proc_open
2022年03月12日
60 阅读
0 评论
0 点赞
2022-02-08
Laravel 修改模型默认主键的坑
Bug: Laravel 字符主键获取为0laravel的orm中默认的主键$primaryKey为id,主键类型$keyType 是int类型, 所以如果我们修改了默认主键当model的主键为 string 类型的时候,会获取到0的值。解决方法: 在model 里面添加protected $keyType = 'string';
2022年02月08日
35 阅读
0 评论
0 点赞
2022-02-07
NameCheap优惠码
NameCheap也是我最为喜欢的域名注册商之一,其虽然是从ENOM代理商做起来的,但是经历过年的壮大发展目前品牌已经深入我们用户口碑。其至少在我们普通站长中的口碑和形象还是非常好的,虽然不及Godaddy优惠码多,也不支持支付宝付款,但是其DNS的稳定,以及变化多样的促销优惠信息还是深得我们喜欢。在NameCheap注册域名到底有哪些优势呢?第一,性价比高。NameCheap在没有节日特别优惠活动的时候,平时的每月优惠活动价格并不是最为便宜的,但是首次注册域名送隐私保护这样折合出来的费用还是比较具有竞争力的。第二,稳定性。我们在使用Godaddy域名的时候,如果我们是用来做中文网站,我们必须要用第三方DNS或者购买付费DNS解析才比较稳定,Namecheap域名的自带DNS还是相当的稳定。我们不需要再使用第三方DNS。第三,免费隐私保护。购买域名,都免费赠送域名隐私保护,我个人还是比较喜欢隐私保护的,因为如果你的网站较多,还是会受到"站群"影响,虽然是微乎其微的影响,但毕竟还是有利的,尤其是对域名的安全性也是比较好。第四,优惠活动。NameCheap每月都会有固定的优惠,不论是在主机还是在域名上,每月还是有小幅度的优惠;而且在每逢大的节日,都会有较大的转入和新注册优惠,而且还是比较大方。@NameCheap 官方网站第一、Namecheap域名优惠码优惠码:NYDMN23备注说明:新注册或者转移.COM/ORG/NET/BIZ/INFO域名可以使用,新注册.COM域名仅需9.61+0.18美元,送隐私保护。转入.COM域名仅需8.79+0.18美元,送隐私保护。续费域名没有优惠。第二、Namecheap企业邮局优惠码优惠码:NYPE23Namecheap商家有提供企业邮局,如果我们有需要域名邮局、企业邮局的话可以选择,还是比较便宜的。优惠码折扣后可以六五折优惠。第三、Namecheap SSL优惠码优惠码:NYSSL23备注说明:新购买Namecheap SSL证书,可以享受八三折优惠。第四、续费优惠码优惠码:COUPONFCNCNamecheap域名新注册活动便宜,但是续费是比较贵的,我们一定要使用这个优惠码享受续费优惠。适合域名和SSL等。需要注意的几个问题:第一,域名隐私保护也是免费的,我们可以在购买域名的时候开启。第二,域名是可以自由转出的,但必须在新购买60天之后转出。第三,在平时,如果有低价注册或者转入优惠,如果我们第二次转出到其他注册商,然后在有转入优惠想转入进来是不可以的。
2022年02月07日
10 阅读
0 评论
0 点赞
2022-01-15
PHP 8.1 新特性:纤程 Fiber
介绍纤程(Fiber)代表了有完整栈、可中断的功能。Fiber 可以从调用堆栈中的任何位置挂起,在 fiber 内暂停执行,直到稍后恢复 fiber。类摘要final class Fiber { /* 方法 */ public __construct(callable $callback) public start(mixed ...$args): mixed public resume(mixed $value = null): mixed public throw(Throwable $exception): mixed public getReturn(): mixed public isStarted(): bool public isSuspended(): bool public isRunning(): bool public isTerminated(): bool public static suspend(mixed $value = null): mixed public static getCurrent(): ?Fiber }Fiber::__construct — 创建一个纤程实例Fiber::start — 开始执行纤程Fiber::resume — 使用值恢复一个纤程Fiber::throw — 抛出异常恢复纤程Fiber::getReturn — 获取纤程返回的值Fiber::isStarted — 判断纤程是否启动Fiber::isSuspended — 判断纤程是否暂停Fiber::isRunning — 判断纤程是否在运行Fiber::isTerminated — 确认纤程是否已中止Fiber::suspend — 暂停当前纤程Fiber::getCurrent —获取当前执行的纤程实例纤程概要(PHP 8 >= 8.1.0)纤程(Fiber)表示一组有完整栈、可中断的功能。 纤程可以在调用堆栈中的任何位置被挂起,在纤程内暂停执行,直到稍后恢复。纤程可以暂停整个执行栈,因此该函数的直接调用者不需要改变该函数的执行方式。可以在任何地方使用Fiber::suspend()调用栈中断执行(也就是说,Fiber::suspend()的调用可以在一个深度嵌套的函数中调用,即使它不存在)。不像没有栈的生成器,每个Fiber有它自己的调用栈,允许它们在深度嵌套函数调用中暂停。一个函数声明一个中断点(即, 调用Fiber::suspends())不需要改变他的返回类型,而不像使用 yield 的函数,必须返回Generator 实例。纤程可以在任何函数调用中暂停,包括那些在 PHP VM 中被调用的函数,比如用于array\_map()的函数或者提供 Iterator 实例以被 foreach 调用的方法。纤程一旦被暂停,可以使用 Fiber::resume() 传递任意值、或者使用 Fiber::throw() 向纤程抛出一个异常以恢复运行。这个值或者异常将会在 Fiber::suspend() 中被返回(抛出)。示例:<?php $fiber = new Fiber(function (): void { $value = Fiber::suspend('fiber'); echo "Value used to resume fiber: ", $value, PHP_EOL; }); $value = $fiber->start(); echo "Value from fiber suspending: ", $value, PHP_EOL; $fiber->resume('test'); ?>输出:Value from fiber suspending: fiber Value used to resume fiber: test
2022年01月15日
51 阅读
0 评论
0 点赞
1
...
3
4
5
...
12