Alpha Technology Group Limited, ATGL, $21.70, Change % -3.13

博客

  • nginx反向代理——想让域名解析到服务器端口上

    ## 需求是这样的n我配置了个node服务监听端口9988,但是我不想外网访问在域名后面加端口,很不友好。n对于这种情况,就可以用nginx的反向代理了n## 操作n配置如下n“`nservern {n listen 80; #nginx监听访问端口80n location / { n proxy_pass http://localhost:9988; #转发到本地9988n proxy_http_version 1.1; n proxy_set_header Upgrade http_upgrade; n proxy_set_header Connection ‘upgrade’; n proxy_set_header Hosthost; n proxy_cache_bypass $http_upgrade; n }n }n“`

  • 查询Laravel的版本

    要查询Laravel的版本,你可以使用以下两种方法之一:nn1. **通过命令行**:n打开你的终端或命令提示符,然后导航到你的Laravel项目的根目录。一旦你在项目根目录中,运行以下命令:nnn“`bashnphp artisan –versionn“`n执行完这个命令后,它会返回Laravel的版本号,例如`Laravel Framework 8.x.y`,其中`8.x.y`是具体的版本号。n2. **查看`composer.json`文件**:nLaravel的版本号也会在项目的`composer.json`文件中列出。你可以使用文本编辑器打开这个文件,并查找`laravel/framework`的版本号。它通常会像这样出现:nnn“`jsonn”require”: {n “php”: “^7.3|^8.0”,n “fideloper/proxy”: “^4.4”,n “laravel/framework”: “8.*”,n // … 其他依赖 …n},n“`n在上面的例子中,`laravel/framework`的值是`8.*`,这意味着Laravel的版本是8.x系列。具体的子版本号可能会根据你的具体安装而有所不同。nn请注意,上述方法适用于你已经安装了Laravel并且正在使用命令行工具的情况下。如果你还没有安装Laravel,你需要先安装Composer,然后使用Composer来安装Laravel。在安装过程中,你也可以指定你想要安装的Laravel版本。

  • 掘金上传动态头像

    ### 准备n- 动图n- postman\apizza\apipostnn### 步骤n1. 现在接口工具中把参数写好n![](https://www.jefsky.com/storage/markdown/images/4fb67d946536085b2424d3783635863c6620d46129461.png)n2. 在掘金中添加新文章,上传你的动图,得到图片地址,就是avatar的值n![](https://www.jefsky.com/storage/markdown/images/07a95935a940d2d48be004c8fc56125b6620d8f8a148c.png)n3. 访问修改个人资料页面,打开控制台,正常上传一张图,就可以拿到cookie了,放进接口工具,提交就好了。n![](https://www.jefsky.com/storage/markdown/images/8e46fc42f6664e730c09bb96b2f6dbd16620dff3a65de.png)

  • 关于计算属性的理解

    计算属性指的是通过一系列运算之后,最终得到一个属性值。这个动态计算出来的属性值,可以被模板结构或methods方法使用。nn在Vue等框架中,计算属性是通过特定的配置项(如computed)来定义的。计算属性是一个函数,它返回一个计算后的值。当计算属性所依赖的数据发生变化时,它会重新计算并返回新的值。计算属性具有缓存功能,即当依赖的数据没有发生变化时,它不会重新计算,而是返回之前缓存的值,这有助于提高性能。nn计算属性在定义时要被标记为“方法”,其特点包括实现了代码的复用和当依赖的数据源变化时,计算属性会重新求值。这使得计算属性在处理需要基于其他数据属性进行计算或转换的属性值时非常有用。nn例如,在一个Vue组件中,你可以定义一个计算属性来组合firstName和lastName两个数据属性,生成一个fullName属性。当firstName或lastName发生变化时,fullName计算属性会自动更新。nn总的来说,计算属性是一种强大的工具,可以帮助你更有效地管理和处理应用程序中的数据属性。nn以下提供一个关于计算属性的具体例子。以Vue.js框架为例,假设我们有一个简单的Vue组件,其中包含了两个数据属性:`firstName`和`lastName`。我们想要创建一个计算属性`fullName`,它将`firstName`和`lastName`组合成一个完整的名字。nn以下是Vue组件的示例代码:nn“`htmlnnnn“`nn在这个例子中,`fullName`是一个计算属性,它包含了一个`get`函数和一个`set`函数。`get`函数用于读取`fullName`的值,它会将`firstName`和`lastName`组合成一个字符串并返回。当我们在模板中使用`{{ fullName }}`时,实际上调用的是`get`函数。nn`set`函数用于设置`fullName`的值。当我们在代码中直接给`fullName`赋值时,`set`函数会被调用。在这个例子中,我们简单地通过空格分割传入的值,并更新`firstName`和`lastName`。请注意,在实际应用中,你可能需要更复杂的逻辑来处理`set`函数中的值。nn通过计算属性,我们可以方便地创建基于其他数据属性的动态属性值,并在模板中直接使用。当依赖的数据属性(如`firstName`或`lastName`)发生变化时,计算属性会自动更新,确保`fullName`始终是最新的值。

  • 小女生石楠子酱——微信表情包

    ##### 最近,我热衷于制作表情包,经过一番努力,终于创作出了一套令自己满意的作品。希望这些表情包能够给你们带来欢乐。n##### 随着石楠花花期的临近,我灵感迸发,决定以石楠花为主题创作一套表情包。石楠的“楠”与“难”谐音,我以此为出发点,展开丰富的想象。表情包的主人公是一位名叫“小女生石楠子酱”的可爱角色,她生活在石楠花盛开的林子里,身上散发着迷人的石楠花香,喜欢用石楠花作为头饰,为她的生活增添了一抹别样的色彩。n##### 期待你们能够喜欢这套充满创意和趣味性的表情包,也希望它们能够成为你们日常聊天中的小乐趣。n[![表情介绍](https://www.jefsky.com/storage/markdown/images/719d25cc9a47cd1b0f7e5519e8342b18661895fa84a23.png “表情介绍”)](https://sticker.weixin.qq.com/cgi-bin/mmemoticon-bin/emoticonview?oper=single&t=shop/detail&productid=aL2PCfwK/89qO7sF6/+I+UDhfwEjhec2ZNvdnLLJRd/OJ0R7ucBgeTDl8J8fQVfElcdjN6HpQhudkFVyiXT+zN55/q/Xq/VyoTlDcM+9llZk= “表情介绍”)

  • 解决Laravel 队列执行报错【不存在failed_jobs】

    ## 问题情景n调试laravel队列的时候报错不存在failed_jobs表nn## 问题显现n> local.ERROR: SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘failed_jobs’ doesn’t exist …nn> (PDOException(code: 42S02): SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘failed_jobs’ doesn’t exist …nn问题显而易见就是没有了那张表嘛,那就创建就好了。其实Laravel 自带了一张 failed_jobs 数据表用来记录所有错误的队列,用一下命令就好了:nn php artisan queue:failed-tablen php artisan migrate

  • 阿里云服务器搭建个人博客教程LAMP(Ubuntu+Apache+Mysql+php)

    **阿里云服务器搭建个人博客教程**nn**一、购买阿里云服务器**nn前往阿里云购买服务器:https://promotion.aliyun.com/ntms/act/qwbk.html?userCode=qpo37rrc|863055719|nn- 根据自己的需求选择合适的配置。n- 地域选择在国内的话,需要进行备案,但备案流程相对简单。nn**(注意:请确保您已经购买并实名认证了域名)**nn**二、选择操作系统**nn推荐选择Ubuntu作为操作系统,不建议使用Windows。如果已有服务器但不是Ubuntu系统,可以在镜像市场进行更换。nn**三、本地工具准备**nn1. **FileZilla**:用于上传和下载服务器文件。n – 下载地址:https://filezilla-project.org/download.php?type=clientn – 提示:无需单独搭建FTP服务器,使用SFTP协议即可,它与SSH协议兼容。nn2. **PuTTY**:免费的跨平台Telnet/SSH客户端。n – 下载地址:https://github.com/larryli/PuTTY/releasesnn**四、远程访问与配置环境**nn使用PuTTY远程访问服务器进行环境配置。nn- **su与sudo的区别**:n – `su`:切换到超级用户root并保持该身份,直到退出。n – `sudo`:以超级用户root身份执行单个命令,执行后恢复为原用户身份。使用sudo可以减少多人拥有root密码的风险。nn**五、安装与配置环境**nn1. **更新服务器目录**n “`bashn sudo apt-get updaten “`nn2. **安装Apache**n “`bashn sudo apt-get install apache2n “`n 安装完成后,使用`apache2 -v`查看版本信息。nn3. **安装PHP(以PHP 7为例)**n “`bashn sudo apt-get install php7.0n “`n 安装完成后,使用`php -v`查看版本信息。nn4. **安装PHP Apache模块**n “`bashn sudo apt-get install libapache2-mod-php7.0n “`nn5. **安装MySQL服务器**n “`bashn sudo apt-get install mysql-servern “`nn6. **安装常用PHP扩展**n “`bashn sudo apt-get install php7.0-curl php7.0-gd php7.0-mysqln “`n 通过`apt-cache search php7.0`查找其他相关安装包。nn**六、安装phpMyAdmin**nn1. **安装phpMyAdmin**n “`bashn sudo apt install phpmyadminn “`n 安装过程中会要求输入MySQL的密码信息。nn2. **创建软连接**n “`bashn sudo ln -s /usr/share/phpmyadmin/ /var/www/html/phpmyadminn “`nn3. **访问phpMyAdmin**n 在浏览器中访问`你的域名/phpmyadmin`,确保你已经知道如何进行域名解析。nn**七、上传并安装博客系统**nn以Typecho为例:nn1. **下载Typecho**n 访问Typecho官网:http://typecho.org/ 下载安装包。nn2. **上传并解压**n 使用FileZilla将安装包上传到服务器网站根目录,并解压。nn3. **访问并安装**n 在浏览器中访问你的域名,按照提示完成Typecho的安装。nn至此,您的个人博客已经搭建完成。您可以根据自己的需求进一步定制和美化博客。

  • C盘突然暴涨!

    ## 是这样的n某天开着【我的电脑】,发现C盘红得离谱,我也没在C盘放什么东西。于是乎,我一个个地方找。先碰碰运气找找用户文件夹吧,看看【AppData】会不会是什么临时文件多了。结果不看不知道,一看吓一跳!n发现`C:\Users\JJ\AppData\Local\Docker\wsl\data\ext4.vhdx`这个罪魁祸首!一个文件夹都占了140G了!天吖n既然问题找到了,那就解决吧~这个一看就知道是跟docker有关的n## 行动吧n### 收缩ext4.vhdx文件n#### 清理不必要的镜像n`docker system prune`n#### 停止wsl服务n`wsl –shutdown`n#### 收缩文件n diskpartn select vdisk file=”C:\Users\JJ\AppData\Local\Docker\wsl\data\ext4.vhdx”n attach vdisk readonlyn compact vdiskn detach vdiskn exitn#### 重启dockern就完成了,呼呼140G-》6G @〰️@nn## 更好的方法n后来了解到,其实不用一个个文件夹去看占用多大空间了,可以直接用diskusage查看n`diskusage /minFileSize=10737418240 /h C:`nn> /minFileSize=10737418240 分析找出大于10G的目录 n/h 显示大小为可读格式 nC: 指定磁盘位置,可以是具体目录nn就一目了然了

  • Laravel取消超时订单的解决方案(延迟分发)

    ## 需求是这样的n很多时候用户下单之后不会立刻结账付款,把订单一直挂着,甚至有些用户久而久之把订单忘记了。这样会导致库存一直被占用,经营无法正常进行了。所以,建议给用户订单一个超时时间,够钟就系统自动取消订单。n## 大概思想n用Laravel的延迟分发来制作,用户下单之后,开始出发延时分发,例如30分钟,时间到就执行,如果已经支付了就return,没有就取消订单,恢复库存和优惠券。感觉这个方法比之前的定时要好很多,有新订单就执行,没有就算,而且时效性的问题也解决了。n## 动手n#### 用命令创建一个jobn`php artisan make:job CancleOrder`n#### 修改环境文件`.env`中队列配置项指定为 redisn`QUEUE_CONNECTION=redis`n如果是`QUEUE_CONNECTION=sync`就是同步了n对了,你也需要准备好redis环境先n#### 编辑`app/job/CancleOrder`文件n order = order;n // 核心配置:设置延迟的时间,delay()方法的参数代表多少秒之后执行nthis->delay(delay);n }n n /**n * Execute the job.n *n * @return voidn */n public function handle()n {n // 判断对应的订单是否已经被支付,如果已经支付则不需要关闭订单,直接退出n if (!empty(this->order->pay_status)) {n Log::info(this->order->id . ‘订单已支付无需操作’ . time());n return;n }n n // 通过事务执行 sqln // 取消订单nthis->order->status = ‘-1’;n this->order->save();n // 恢复库存、优惠券n …cancelData…n if (this->order->coupon_id) {n …n }n Log::info(this->order->id . ‘系统取消订单执行’ . time());n }n }n#### 添加超时时间n在`config/app.php`中添加超时时间n`’order_ttl’ => 1800,// 订单超时时间`n#### 触发n在创建订单的业务上加上延迟分发的任务n use App\Jobs\CloseOrder;n n /**n * 新增订单n * @paraminsert_datan * @return mixedn */n public static function addOrder(data)n {norder = new ShopOrder();n …n order->save();n // 调用延迟队列任务,超时30分钟未支付关闭订单,恢复库存n dispatch(new CloseOrder(lib, config(‘app.order_ttl’)));n return $order->id;n }n n#### 安装predis依赖n使用 redis 作为队列驱动,还需要引入 predis/predis 依赖n`composer require predis/predis`n#### 启动队列处理器n`php artisan queue:work`n每次修改任务执行程序,都需要先停止队列,修改完成后再重新启动。n> 如果想队列处理器进程一直在后台运行,可以写入到守护进程中,如Supervisor

  • Microsoft Edge 开发者注册报错Error code 2201

    **Microsoft Edge 开发者注册报错** nn`Error code 2201. Correlation ID 8029563c-f394-46cb-addf-0eb746b1d1a2,rddVd9MV3Uqsqw57.0.3.`nn发布Microsoft Edge扩展写注册信息时,就算把*号都填好了,都会提示错误: nn`Error code 2201. Correlation ID 8029563c-f394-46cb-addf-0eb746b1d1a2,rddVd9MV3Uqsqw57.0.3.`nn后来把所有字段都填写了,发现在’state/province’有提示: nPlease choose a state or province n尝试了中文、拼音、英文的城市名称,都一样报错。nn最后才发现,填城市缩写才得意通过(如广东Guangdong,得填GD),望微软修复一下吧~